1.1 确认是单台主机还是整个香港机房受影响。先在本机重现,再用同机房其它主机或同ISP的主机测试。
1.2 记录时间、目标域名或IP、访问方式(HTTP/HTTPS/API)、是否有错误码(如 524/502/403/504)或超时信息。
2.1 在 Windows 上执行:打开 cmd,运行 ping example.com -n 6 与 tracert example.com
2.2 在 Linux/macOS 上执行:ping -c 6 example.com 与 traceroute -n example.com(或安装 mtr:mtr -rw example.com)。观察哪个跳点开始丢包或延迟暴增。
3.1 使用 nslookup(Windows)或 dig(Linux/macOS)查询域名解析结果:nslookup forum.example.com 或 dig +short forum.example.com。
3.2 如果解析到 CDN 或非预期 IP,临时修改 /etc/hosts(Linux/macOS)或 C:\Windows\System32\drivers\etc\hosts(Windows)进行指向测试:127.0.0.1 示例为测试格式,示例:203.0.113.45 forum.example.com,然后清除DNS缓存(Windows: ipconfig /flushdns,macOS: sudo killall -HUP mDNSResponder,Linux: systemd-resolve --flush-caches 或重启 nscd)。
4.1 检查 HTTP/HTTPS 端口是否可达:curl -I -v https://forum.example.com 或 telnet forum.example.com 443(Windows 可用 PowerShell: Test-NetConnection -ComputerName forum.example.com -Port 443)。
4.2 若 telnet/tcping 超时,说明被防火墙或运营商在 TCP 层拦截;若 TCP 建立但 HTTP 无响应,继续查看应用层或证书问题。
5.1 使用 openssl 测试 TLS:openssl s_client -connect forum.example.com:443 -servername forum.example.com,查看证书链、SNI 返回的证书是否正确,以及是否有 handshake 错误。
5.2 若返回不同域名的证书或证书校验失败,可能是 CDN、反代配置或 SNI 不支持导致。尝试在 curl 中显式指定域名:curl -v --resolve forum.example.com:443:203.0.113.45 https://forum.example.com/
6.1 通过 traceroute/mtr 找到丢包节点后,用 IP 反查或利用 ipinfo、bgp.he.net 查询该跳点的 ASN 与地理位置,判断是国际链路、运营商骨干或目标机房内部问题。
6.2 若在香港出口或对端网络出现问题,可联系机房或 ISP 提供 traceroute 输出并申请 BGP/线路排查。
7.1 如果 Discuz 使用云加速或 CDN(如 Tencent Cloud CDN、Cloudflare 等),登录控制台检查是否对香港区域做了 IP 黑名单、地理封锁或频率限制。
7.2 在 CDN 控制台查看“访问日志/防护日志”,定位被 WAF 拦截的请求(按时间和源 IP 筛选),必要时将香港机房 IP 加入白名单或放开速率限制。
8.1 本地服务器:检查 iptables/nftables 规则和 ufw 状态(sudo iptables -L -n --line-numbers;sudo ufw status verbose),确保 80/443 已允许。
8.2 云控制台:检查安全组、ACL 是否阻止来自香港出口 IP 段。若使用负载均衡,确认后台健康检查配置和源站白名单。
9.1 登录目标主机,查看 Nginx/Apache 访问日志与错误日志(例如 /var/log/nginx/access.log 与 error.log),根据时间戳定位失败请求和返回码。
9.2 查看 Discuz 自身日志或云平台控制台的错误回报,注意是否有接口限流、认证失败或 IP 验证导致拒绝。
10.1 有时 MTU 不匹配会导致 TLS/HTTP 大包丢失,使用 ping -s 命令逐步调整包大小并测试(Linux 示例:ping -M do -s 1472 forum.example.com),确认是否存在分片问题。
10.2 检查是否启用了 IPv6 而路径不通:使用 ping6 或 curl -6 测试,必要时在服务器或客户端禁用 IPv6 进行比对。
问:香港服务器能 ping 通域名但无法访问 Discuz 页面,该怎么办?
答:先确认 ping 成功只是表示 ICMP 通路正常,HTTP/HTTPS 仍可能被阻断:1)用 curl -v 测试 HTTP 返回与头信息;2)用 telnet/openssl s_client 检查 80/443 端口与 TLS 握手;3)查看服务器或 CDN 的防火墙/WAF 日志是否拦截;4)若使用 CDN,临时绕过 CDN(修改 hosts 指向源站 IP)以排查是源站问题或加速层问题。
问:如何快速判断是否被运营商在国际出口层面封锁?
答:1)从香港服务器对目标做 traceroute/mtr,若多次在同一跳或之后全部丢包,通常为链路或出口问题;2)用第三方在线工具(如 ping.pe、intodns、RIPE Atlas 节点)在不同国家/地区对目标测试对比;3)用 VPS 做跳板(不同出口)测试,若只有香港出口异常,应联系香港机房或 ISP 排查。
问:如果以上都排查无果,联系 Discuz 云平台或机房时应提供哪些信息?
答:提供尽可能详细的排查证据:1)发生时间段与重现步骤;2)失败时的 curl -v/openssl s_client/telnet 输出;3)traceroute/mtr 路由结果(最好带 -n);4)DNS 查询记录(dig/nslookup 输出);5)服务器公网 IP 及机房/ISP 信息;6)Web 服务器与 Discuz 错误日志片段;7)是否通过修改 hosts 绕过 CDN 能否访问。这样能让对方快速定位是链路、CDN、WAF 还是源站问题。