二级域名访问异常排查记录:ref vs ref1(附代理节点不稳定分析)
在一次使用宝塔部署前端项目时,遇到一个非常诡异的问题:两个绑定在同一项目的二级域名,一个能访问,一个却失败。最终发现问题是开启了代理,出在代理节点上,这篇文章记录排查全过程,并补充对“节点不稳定”的经验教训。
问题描述
部署方式:
使用宝塔面板配置网站目录
/www/wwwroot/reference绑定了两个域名:
✅
ref1.example.com:正常访问❌
ref.example.com:访问超时
注意事项:
两个域名都开启了 Cloudflare 的代理(“橙云”)
Nginx 绑定配置完全一致,端口为 80,无 SSL
排查过程
1️⃣ DNS 解析
使用
ping、dig测试:两个域名都能正确解析初步排除 DNS 设置问题
2️⃣ 宝塔配置检查
路径、端口、域名绑定均正确
重启 Nginx、清空缓存后依旧无效
排除服务器配置问题
3️⃣ 代理相关测试
关闭代理后,
ref能正常访问开启代理后,
ref访问失败,而ref1正常
说明问题极有可能与代理配置或节点本身有关。
关键线索:Clash 日志分析
在 Clash 代理的日志中找到以下报错:
[TCP] dial failed ref.example.com:443
error: dial tcp4 104.x.x.x:443: i/o timeout
proxy: 美国西雅图节点
rule: MATCHref.example.com被默认代理到了某个美国节点代理节点解析返回了错误 IP,或节点自身链路不通
连接失败导致访问超时
而 ref1.example.com 没有被错误代理,走的是直连,因此访问正常。
解决方案
手动将 ref.example.com 设置为直连:
- DOMAIN,ref.example.com,DIRECT或者设置整个域名后缀直连:
- DOMAIN-SUFFIX,example.com,DIRECT修改后重启 Clash 即可恢复访问。
后续验证:节点不稳定导致问题反复
最初认为是规则配置问题,但第二天在未修改规则的前提下重新尝试访问,发现:
ref.example.com又可以正常访问了所用的仍然是原来的代理规则和节点
这进一步证明:
根因是:西雅图节点本身的临时性 DNS 错误或网络链路不稳定
总结对比
| 域名 | 访问状态 | 代理模式 | 代理节点 | 原因 |
|---|---|---|---|---|
ref1.example.com | ✅ 正常 | 自动规则 | 未被代理或直连 | 无代理干扰 |
ref.example.com | ❌ 异常 → ✅ 正常 | 自动规则 | 西雅图节点 | 节点解析错误/网络异常 |
实战经验总结
节点不等于稳定
有些代理节点(尤其是便宜或公共节点)可能会:
使用不可靠的 DNS
有缓存污染
出现临时断链、带宽挤占等问题
自建服务建议直连
代理配置中可显式设置自家服务为直连,防止走入不可靠节点:
- DOMAIN,ref.example.com,DIRECT善用 Clash 日志
Clash 的日志是排查代理问题的关键入口,能显示:
走的是哪个节点
命中了哪条规则
DNS 是否解析错误
最终建议
| 操作建议 | 原因 |
|---|---|
| 自建服务设置直连规则 | 防止代理节点解析错误或连接不稳 |
| 不稳定节点设置为备用或禁用 | 节点质量对稳定性影响极大 |
| 使用可信 DNS 或开启 DoH | 减少 DNS 污染带来的奇怪问题 |
| 抓日志排查代理路径 | 快速定位是规则问题还是节点问题 |
如果你也遇到「一个域名可以访问、另一个不行」的怪问题,不妨检查一下是否是 代理节点给你“捣乱”了。