我有一个摄影师的网站,他拍了一些照片并通过他的网站分享。该网站似乎可以在一个国家/地区使用(它适用于一个家庭成员),但它甚至无法加载。
该网站不使用 SSL,因此我怀疑某些本地 DNS 问题是罪魁祸首。
traceroute 似乎对该域名相当慢,mtr 似乎显示它可以找到它。whois 似乎也找到了一个条目。
我还应该查看什么来调试此问题?我尝试了几个浏览器和计算机(均来自出现故障的位置)。
更新:现在我已使用 Tor 加载了网站一次。不知道这说明了什么。
答案1
要访问网站,您需要按相反的顺序:
- 正确的 TLS 配置(证书等)
- 一个合适的 HTTP 服务器,监听 80 和 443 端口以支持 HTTPS
- 正常运行的防火墙,允许流量通过
- 从“任何地方”到该服务器的正确 IP 路由
- 如果所有内容都以名称(从 URL 中提取)开头,则需要从该名称到某个 IP 地址进行正确的名称解析(通常是 DNS,但不一定是所有地方)。
因此,您需要从底部开始,然后向上测试所有这些内容。您可以使用浏览器自己的内部 Web 开发人员工具,或外部命令(如果可以使用命令行工具,您可以获得更好/更简单/更快/更正确的故障排除),或者最坏的情况下使用各种网站上的服务。
我将仅提供有关使用命令的详细信息。
- 你可以使用
dig
它来仔细检查名称解析;使用其默认的本地解析器查看客户端是否获取正确的 IP 地址 - 接下来的 3 点都可以通过使用来检查
tcptraceroute
;最重要的是不要使用默认值traceroute
(或者更糟糕的,正如经常建议的那样ping
),因为它不会真正模拟您所需要的正确的 TCP/80 或 TCP/443 流量;这可能需要一些时间,但您应该得到最后一行,其中包含在上一点中找到的 IP 地址和类似的提及,[open]
这意味着您确实看到(并且可以访问)在那里运行的网站,因此没有防火墙阻碍交换。 - 您可以使用各种工具模拟完整的 HTTP(s) 交换,包括
wget
或。curl
httpie
- 专门用于调试 TLS 问题
openssl s_client
,gnutls
或者testssl.sh
更新:现在我已使用 Tor 加载了网站一次。不知道这说明了什么。
服务器和客户端之间可能有防火墙。因此,如果你更改源 IP 地址(这是使用 Tor 的副作用之一),访问模式就会发生变化。