# 域名解析到服务器IP但无法访问的排查步骤 ## 1. 确认解析是否生效 bash # 使用命令检查解析结果(替换为你的域名) nslookup yourdomain.com dig yourdomain.com # 查看解析结果是否与服务器IP一致 # 若不一致,检查DNS控制台配置或等待DNS生效(通常2-48小时) ## 2. 检查服务器状态 bash # 确认服务器是否存活 ping 服务器IP # 检查Web服务端口是否开放(以80端口为例) telnet 服务器IP 80 nc -zv 服务器IP 80 # 登录服务器检查服务状态 systemctl status nginx/apache2 netstat -tulnp | grep ':80' ## 3. 排查防火墙配置 bash # 检查服务器防火墙规则(以ufw为例) ufw status # 检查云服务器安全组规则 # 需放行80(HTTP)/443(HTTPS)端口 ## 4. 验证网站服务配置 bash # 检查网站配置文件是否绑定正确域名 cat /etc/nginx/sites-enabled/yourdomain.conf # 检查是否存在默认站点覆盖配置 # 测试配置文件语法 nginx -t ## 5. 排查HTTPS证书问题 bash # 检查SSL证书是否有效 openssl s_client -connect 服务器IP:443 # 检查证书链是否完整 # 确认证书绑定域名与访问域名一致 ## 6. 其他常见原因 - 本地hosts文件覆盖解析(检查`C:\Windows\System32\drivers\etc\hosts`或`/etc/hosts`) - 浏览器缓存问题(使用无痕模式或清除缓存) - CDN/云加速服务未正确配置 - 域名未备案(国内服务器需备案) - 服务器资源耗尽(CPU/内存/带宽) ## 7. 终极验证方法 bash # 在服务器本地测试访问 curl -I http://localhost wget http://localhost # 如果本地可访问但外网不行,需重点排查网络配置 **建议排查顺序**:DNS解析 → 服务器存活 → 端口开放 → 服务配置 → 防火墙 → 本地环境 → 联系服务器提供商