Nginx静态配置问题:IP访问正常,域名emad.ir无法解析求解决
域名emad.ir无法解析的排查与解决建议
你的Nginx配置如下:
server { listen 80; server_name emad.ir; location / { root /Apps/first; index index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
针对输入域名无法解析的问题,按以下步骤排查:
- 检查域名DNS解析记录:使用
nslookup emad.ir或dig emad.ir命令,确认返回的IP地址与你的服务器公网IP一致。如果不符,登录域名注册商的DNS管理后台,将A记录(IPv4)或AAAA记录(IPv6)正确指向服务器IP,DNS修改后通常需要10分钟至数小时的缓存生效时间。 - 验证Nginx配置有效性:执行
nginx -t检查配置文件语法是否存在错误,若语法正确,执行nginx -s reload重新加载配置,确保配置生效。 - 检查端口与防火墙规则:确认服务器的80端口(HTTP)已对外开放,本地防火墙(如iptables、firewalld)及云服务商安全组均需允许外部访问80端口。
- 清理本地DNS缓存:本地设备可能缓存了旧的解析记录,Windows系统执行
ipconfig /flushdns,macOS/Linux系统执行sudo systemd-resolve --flush-caches(不同系统命令可能略有差异)后重新尝试访问。 - 确认Nginx服务器匹配规则:若访问IP能正常打开页面,说明存在默认server块处理IP请求。可在你的emad.ir server块中添加
listen 80 default_server;,强制该块优先处理请求(此步为可选优化,核心仍需先解决DNS解析问题)。
内容的提问来源于stack exchange,提问作者Emad Khavaninzadeh
相关产品推荐
相关产品推荐

