# 域名解析到服务器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解析 → 服务器存活 → 端口开放 → 服务配置 → 防火墙 → 本地环境 → 联系服务器提供商