无法通过 ip 访问网站,但我可以通过完全限定的域访问

cat*_*lin 3 dns ip nginx load-balancer

所以似乎我无法通过 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
Run Code Online (Sandbox Code Playgroud)

尝试访问 62.168.203.241 显示“nginx 内部服务器错误”但是如果我访问 www.example.com,页面会加载。这怎么可能?

Kel*_*ari 8

出现这种情况的原因有多种。这里只是一些:

  • 主机头- 简而言之,网络服务器可能在一个 IP 地址上托管多个网站。没有域名,就无法显示正确的网站。

  • 负载平衡或类似设备 - IP 地址可能不是用于网站,而是用于将网络负载分配给其他设备的负载平衡器。

  • 名称解析 - IP 的名称解析已更改。例如,假设网站地址已更改,并且您手动将其输入到 HOSTS 文件中以转到正确的 IP。


iva*_*van 5

Apache 和 nginx(不确定其他人......)都可以根据用于连接和请求文件的主机名为来自同一 IP 的多个站点提供服务。

但是当您通过 IP 地址访问服务器时,必须定义一个虚拟主机来为使用的名称(IP)提供服务。服务器生成错误的事实表明服务器的配置存在“错误” - 它根本没有设置为响应 IP,或者它正在响应并提供 PHP 或其他脚本该脚本存在某种类型的问题。