首页 > 解决方案 > 在 IIS 7 中设置 2 个具有 2 个 IP 和不同证书的 SSL 站点

问题描述

我创建了一个额外的 IP 以托管 2 个站点并为它们设置 HTTPS 绑定。我已经设置了每个使用 1 个 IP 并且都设置为 443 和他们自己的证书的绑定。

一旦我重置了网站,一切正常。两者都在 https 中打开没有证书问题。我面临的问题是当这些站点调用第二台服务器时。然后我收到如下错误:

错误代码

这发生在两个站点上。我已经检查了第二台服务器的主机文件,并且两个 IP 都添加到那里。一旦我将其中 1 个站点从特定 IP 更改回“所有未分配”,该站点就会再次正常工作。但是仍然具有特定 IP 的第二个站点在这方面不起作用。我不能将两者都设置为所有未分配,这让我感到困惑,为什么将其设置为那个,当它仍然使用该 IP 时,它无法工作。

前段时间只有 1 个是 https,另一个是 http,然后一切正常。既然我已经尝试过两种 HTTPS,我开始遇到联系第二台服务器的问题。两台服务器都支持 TLS1.2 、 1.1 和 1.0 在乞求时我已经禁用了 1.1 但尝试启用它以查看是否是问题所在。我还尝试了一些在线建议,例如在调用服务器之前添加这些行:

“System.Net.ServicePointManager.ServerCertificateValidationCallback = 委托 { 返回 true; };”

为了测试它是否是证书问题,我也尝试在这里设置 TLS1.2 并将项目更新为使用 .net4.6

任何建议将不胜感激

编辑:

我已经在实际服务器上创建了测试,错误是一样的: 测试代码

出于某种原因,即使单击安装其他框架,我也无法选择 .Net4.6,目标框架始终相同。

标签: c#ssliishttpscertificate

解决方案


我解决了这个问题。问题出在主机文件上,但不是来自我试图调用的服务器的文件,而是实际的本地主机。该域使用的本地 IP 127.0.0.1 与我的其他域使用的相同,因为它设置为“All Unassinged”。然后将服务器作为域调用实际上会返回错误的证书,这会破坏它。

我刚刚将两个域的 IP 从本地 IP 更改为特定的私有 IP,它就可以工作了。

感谢jdweng和Jokies Ding的帮助!


推荐阅读