网站已关闭但 traceroute 正常,这怎么可能?

Gra*_*ity 5 internet web-server web traceroute

我在 BlueHost(“专业”计划)上有一个经常关闭的网站。火狐说:

The connection has timed out

The server is taking too long to respond.
    The site could be temporarily unavailable or too busy. Try again in a few moments.
    If you are unable to load any pages, check your computer's network connection.
    If your computer or network is protected by a firewall or proxy, make sure that Firefox is permitted to access the Web.
Run Code Online (Sandbox Code Playgroud)

但是,跟踪路由很好:

  1    <1 ms    <1 ms    <1 ms  speedport.ip [192.168.2.1]
  2    39 ms    40 ms    40 ms  217.0.112.281
  3    42 ms    41 ms    43 ms  87.186.228.226
  4    49 ms    50 ms    48 ms  217.231.42.245
  5    48 ms    49 ms    49 ms  62.157.251.154
  6   184 ms   184 ms   183 ms  xe-0-3-0.slc10.ip4.gtt.net [89.149.187.137]
  7   188 ms   185 ms   196 ms  ve61.ar05.prov.acedc.net [69.31.64.6]
  8   186 ms   185 ms   185 ms  prv-212-1-0-1.unifiedlayer.com [69.27.175.151]
  9   186 ms   185 ms   185 ms  69-195-64-129.unifiedlayer.com [69.195.64.129]
 10   186 ms   185 ms   185 ms  162-144-240-157.unifiedlayer.com [162.144.240.157]
 11   186 ms   186 ms   186 ms  162-144-240-111.unifiedlayer.com [162.144.240.111]
 12   185 ms   185 ms   186 ms  box950.bluehost.com [69.195.124.150]
Run Code Online (Sandbox Code Playgroud)

我需要能够监控我的网站是否在线/离线,我认为跟踪路由是合适的工具。

Tom*_*Tom 27

该网站在服务器进程上运行。当您关闭服务器进程时,服务器不会神奇地关闭。当您错误配置防火墙(并阻止端口 80)时,服务器也不会关闭,防火墙中的 ICMP 规则也不会被删除。

  • 一个非技术性的解释——你的房子还在那里,人们仍然可以按你的门铃,即使你不在家接听:) (29认同)
  • 是的。有趣的是,如今管理网站的人很少知道。ICMP 应答由操作系统中的 TCP 堆栈处理。网站由您可能听说过的东西处理 - 它被称为“网络服务器”。关掉网络服务器,机器还在。 (5认同)
  • @TomTom 是进程还是内核在回答 ICMP 在这里并不重要:*某事* 显然在回答。您的回答将受益于对 ICMP 是什么的简短解释,而不是对“如今管理网站的人知之甚少”的居高临下的评论。显然这就是他们问的原因! (5认同)
  • @TomTom 感谢您的解释,我发现您的答案中的文本 *服务器不会神奇地关闭* 有点晦涩。您的最后一条评论以更简单的方式解释了它:操作系统运行的 TCP 堆栈响应“traceroute”,而进程关闭的 Web 服务器无法响应 Firefox。 (3认同)
  • 这个答案有点误导,因为关闭服务器进程不会导致连接超时。如果端口上没有进程监听,内核会用 TCP RST 包响应 TCP SYN 包。因此,客户端将立即看到连接被拒绝的错误消息,而不必等待连接超时消息。然而,错误配置的防火墙可能会导致连接超时。 (2认同)

Edu*_*res 10

Traceroute使用ICMP协议到达一个地址,HTTP服务器使用HTTP协议,不同的端口,不同的方式。我可以通过 ICMP 回显请求访问一个地址,但是,如果我尝试通信的端口以某种方式关闭或冻结,我将收到超时错误。如果您确定服务器已启动并且端口已启动(正在侦听),那么最好检查防火墙规则。


小智 5

什么是虚拟主机

一些网络服务器,如 Apache,可以配置为使用所谓的虚拟主机;本质上是一个本地重定向服务。本质上,它是这样工作的:Web 服务器(在这种情况下我们将假设它是 Apache2)将根据请求来自哪个域和/或 IP 地址来选择要提供的文档。例如:如果你浏览到一个网站example.com,服务器可能会给你储存在/var/www/com.example的网页文件,但如果你导航到另一个站点example-2.com它可以为您提供位于 /var/www/com.example-2 的文件。服务器在这里所​​做的一切都在改变所谓的文档根目录,它本质上是域“根”的目录(例如 google.com = 根目录,google.com/file/ = 不是根目录,而是存储根目录中的文件夹)。

为什么这是相关的

现在,这是什么必须做与您的情况:你的域名http://xxx.bluehost.com实际上可能指向精确同一服务器别人的网站,但服务器会因为你的域名有不同的反应; 因此,当您执行到该服务器的跟踪路由时,它可能仍会成功响应,因为 Bluehost 可能只是关闭了您的网站。一个公平的警告:我一直怀疑提供廉价 Web 服务器计划的主机偶尔会关闭其小客户的网站,以便为大客户腾出空间(带宽、处理能力等)。如果您阅读了您的协议​​和合同,可能会有条款赋予他们这样做的权利。

注意:不要将虚拟服务器虚拟计算机虚拟主机混淆。它们非常不同,尽管它们具有相似的目的。另外,如果听起来我假设您对网络托管一无所知,我很抱歉,假设某人不知道比稍后解释更容易;它也为以后可能会阅读此问题的人提供信息!