所以看来我无法通过 IP 浏览网站,但我可以使用其主机名浏览。
C:\Users\c>nslookup www.example.com
Non-authoritative answer:
Name: cx-cdn-bre.gss.consultix.net
Addresses: 62.168.203.241
62.168.202.241
尝试访问 62.168.203.241 时显示“nginx 内部服务器错误”,但如果我访问 www.example.com,页面就会加载。这怎么可能呢?
答案1
出现这种情况的原因有很多种。以下仅列举其中几种:
主机头- 简而言之,网络服务器可能在单个 IP 地址上托管多个网站。如果没有域名,它就无法显示正确的网站。
负载平衡或类似设备 - IP 地址可能不是用于网站,而是用于负载平衡器,它将网络负载分配给其他设备。
名称解析 - 名称解析到 IP 已更改。例如,假设网站的地址已更改,您手动将其输入到 HOSTS 文件中以转到正确的 IP。
答案2
Apache 和 nginx(不确定其他的......)都可以根据用于连接和请求文件的主机名从同一 IP 为多个站点提供服务。
但是当您通过 IP 地址访问服务器时,必须定义一个虚拟主机来为使用的名称 (IP) 提供服务。服务器生成错误这一事实表明服务器配置存在“错误” - 要么它根本没有设置为响应 IP,要么它正在响应并提供 PHP 或其他脚本,而该脚本存在某种类型的问题。
答案3
因为 IP 可以指向服务器,但主机名仅仅指向一个域,而该域可能是子域,该子域可能还包含其他 IP。
域名的 IP 为 132.21.12.21(例如,是虚构的数字)。子域名(即具有相同的主主机名,然后向其添加了一些内容)可能具有完全不同的 IP,因此位于不同的服务器中。
另外,出于安全原因,域名也可以设置为只能通过其指定的位置进入。
您需要将其想象成由不同方块构成的我的世界建筑物。
编辑后向提问者添加了一个想法:您知道有些内容是易变的并且位于不同的部分吗?例如,点对点、bittorrent 等。甚至还有使用点对点的僵尸网络,它们同时无处不在,还有通过点对点显示内容的网站。我只能提示您想要的答案。