You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu服务器网站崩溃:Apache运行时域名无法解析至IP地址

Ubuntu服务器网站崩溃:Apache运行时域名无法解析至IP地址

Hey Benissimo, sorry to hear your site suddenly went down after working flawlessly for a month—let’s walk through a systematic troubleshooting process to get to the bottom of this domain resolution issue.

1. 先排除本地DNS缓存问题

既然你的ping提示“无法解析域名”,有可能只是本地设备的DNS缓存过期了,先做这些快速检查:

  • 清除本地DNS缓存(不同系统操作不同:Windows运行 ipconfig /flushdns,macOS运行 sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder,Linux运行 sudo systemd-resolve --flush-caches)。
  • 用公共DNS服务器测试,绕过本地网络的DNS:
    ping -4 yourdomain.com  # 强制使用IPv4,避免AAAA记录问题
    nslookup yourdomain.com 8.8.8.8  # 使用谷歌公共DNS
    

如果这样能成功解析,那问题出在你的本地网络或ISP的DNS上,和服务器、域名配置无关。

2. 验证域名的基础状态

很容易忽略,但域名过期或注册商后台的意外修改会瞬间导致解析失败:

  • 登录域名提供商的后台,检查:
    • 域名是否处于活跃状态(未过期、未暂停、未锁定)?
    • A/AAAA记录是否指向Ubuntu VPS的正确公网IP?可以在VPS上运行 curl ifconfig.me 获取当前IP,然后和记录对比。
    • 域名服务器(NS)记录是否被意外修改?如果用的是Hestia的DNS,要确保注册商的NS记录指向你的VPS DNS服务器。

3. 检查Hestia控制面板的DNS区域和本地DNS服务

就算之前正常,配置错误或服务故障也可能突然出现:

  • 登录Hestia,进入域名的DNS区域设置,确认:
    • A记录的IP正确,没有拼写错误。
    • TTL值没有设得过高(如果最近修改过记录,过高的TTL会延迟生效)。
  • 在VPS上检查DNS服务(Hestia通常用Bind9)是否正常运行:
    systemctl status bind9
    

如果没运行,用 sudo systemctl start bind9 启动,再用 sudo systemctl enable bind9 设置开机自启。

  • 测试VPS本地能否解析自己的域名:
    dig @localhost yourdomain.com
    

如果返回正确IP,说明本地DNS配置没问题;如果不行,那Hestia的DNS区域配置有问题。

4. 排查DNS传播或全局解析问题

如果上面的检查都通过,验证域名是否能被全局解析:

  • 换个网络测试(比如切换到手机流量,不用Wi-Fi),看问题是不是只出在你的本地网络。
  • 在VPS上用 whois 命令检查域名的注册状态和域名服务器:
    whois yourdomain.com
    

留意有没有clientHoldserverHold这类标记,这说明域名被暂停了。

5. 排除VPS IP变动问题

虽然静态IP的VPS很少出现这种情况,但服务商偶尔可能会未经通知修改你的公网IP:

  • 在VPS上运行 curl ifconfig.me 获取当前公网IP。
  • 对比这个IP和域名注册商后台、Hestia DNS区域里的A记录,如果不匹配,更新所有地方的记录,等待DNS传播完成。

先从最简单的检查(本地缓存、域名过期)开始——这些是导致突然解析失败最常见的原因。如果哪一步卡住了,把命令的输出告诉我,我们再深入排查!

备注:内容来源于stack exchange,提问作者Benissimo Life

火山引擎 最新活动