无WWW前缀的mydomain.com无法访问,求Nginx配置解决方法
解决裸域名无法访问的问题
你的Nginx配置逻辑是对的(将裸域名跳转到www子域名),但出现无法连接的报错,说明请求根本没到达Nginx服务器,按以下步骤排查:
- 检查DNS解析:确认
mydomain.com的A/AAAA记录已正确指向服务器IP。如果裸域名没有解析记录,浏览器无法找到服务器,自然报错。 - 验证Nginx配置:执行
nginx -t检查配置语法,确认无错误后重启Nginx(systemctl restart nginx),确保配置生效。 - 确认端口监听:用
ss -tulpn | grep nginx检查Nginx是否在监听80端口(包括IPv4和IPv6),如果Nginx未监听80端口,请求无法被接收。 - 检查防火墙/安全组:确保服务器防火墙或云安全组允许80端口的入站流量,虽然www能访问,但需确认无针对裸域名的特殊限制规则。
- 优化配置(可选):如果服务器支持IPv6,给两个server块都加上IPv6监听,避免IPv6环境下的访问问题:
server { listen 80; listen [::]:80; server_name mydomain.com; return 301 $scheme://www.mydomain.com$request_uri; } server { listen 80; listen [::]:80; server_name www.mydomain.com; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /var/www/mydomain; } location /media/ { root /var/www/mydomain; } location / { include proxy_params; proxy_pass http://unix:/run/mydomain.sock; } } - 本地测试:用
curl -v http://mydomain.com查看请求流程,确认是否能连接到服务器并收到301跳转响应。
内容的提问来源于stack exchange,提问作者tiberhockey
相关产品推荐
相关产品推荐

