我有一个新的服务器 2022 设置,我刚刚启动并运行,当从 IIS 拉取页面时,如果我在 URL 中使用名称,我会收到 500 错误,但如果使用 IP,则会收到 404。这两个 URL 之间的差异让我感到困惑,所以老实说,我不知道下一步该去哪里找。为什么会抛出 500 错误?名称查找解析为我正在使用的同一 IP,并收到 404 错误。
答案1
在 IIS 中您网站的绑定中,是否有一个没有主机名的 IP 和端口的绑定条目?
由于 IIS 允许您拥有多个网站,使用主机名、IP 地址和端口号的多个组合,因此它会通过接收您的请求并查找具有匹配绑定的网站来确定您要访问哪个网站。这三个元素的组合在该服务器上托管的所有网站上始终是唯一的。
因此,就您而言,您希望您的站点有两个绑定。一个用于您现在拥有的主机名/IP/端口组合,第二个用于几乎相同的条目,但主机名条目为空。
请注意,如果 IIS 已使用该 IP 地址监听端口 80/443,而其他地方没有主机名(例如仍在运行的默认站点),则它不会允许您添加它,但这也可以解释为什么您会得到不同的结果,因为不同的网站正在响应查询。因此,虽然 URL 连接抛出 500 错误,表示网站本身存在问题,但 IP 404 表示它被发送到其他地方,但某个地方可能找不到默认页面,因此出现 404 文件未找到错误。