我遇到了一个有趣的问题,我的一个 Web 服务器在网站的 HTTPS 部分出现 404 错误。
以下是我们的设置方式,我们在其上设置了一个网站,该网站没有设置主机头并配置为接受 * 上的任何请求。我们刚刚在此服务器上安装了第二个 IP 地址,因为我们将部署另一个网站,并且我们需要它将新的 SSL 绑定到它,我们在服务器上安装了两个 SSL 证书,但只有其中一个绑定到 IP,因为它是当前运行的站点。我们运行单一代码库,因此两个站点都将在单个 .Net 工作进程中运行(我们将其设置为 Web 场),应用程序处理要加载哪个站点的 url 请求,这是一个侧注,可以为您提供一些有关我们如何做事的背景知识。因此,自从添加第二个 IP 地址以来,我现在从 IIS HTTPAPI 收到 404 错误(它不是一直发生,而是间歇性的),httperr 日志清楚地显示了这一点,并且我们的其他服务器都没有这样做,因为它们目前只有 1 个 IP 地址。
我最烦的一件事是使用 appcmd 命令将 URL 绑定到 SSL 证书,我认为这可以解决问题,但事实并非如此,我还有一些其他想法,但我想把这个放在那里,看看是否有其他人遇到过这个问题,以及解决它的方法。我正在设置第二个服务器和第二个 IP 地址,看看它是否也能做到这一点,我将向站点添加主机标头并将其绑定到 SSL 所在的 IP 地址。
对此的任何建议都非常有用!
另外,为什么不花点时间听一首经典歌曲呢:) http://grooveshark.com/s/Missing+Link/2GNh7?src=5
答案1
我发现了发生这种情况的原因并纠正了问题,一旦我将主机头添加到我们用于该站点的 IP 地址的端口 80,错误就不会再发生。
因此,总而言之,我永远不会建议在未设置主机头的情况下在 IIS 上使用 2 个以上的 IP 地址(我知道应该这样做,但有时如果让开发人员想得太多,他们就会想出不需要它们的古怪想法),我也会在 SSL 证书上设置主机头。这里有一个很好的链接,解释了如何做到这一点。
http://thethoughtfulcoder.com/blog/12/Configure-host-headers-with-SSL-using-IIS-7-or-IIS-75
这是一首关于客户伊斯特伍德的歌