有没有办法告诉 IIS 不需要 SSL,但如果客户端使用 SSL,则需要客户端证书?

有没有办法告诉 IIS 不需要 SSL,但如果客户端使用 SSL,则需要客户端证书?

我想设置 IIS 监听 127.0.0:80 和 *:443,这样只允许来自本地主机的 http 连接,而网络上的任何人都必须使用 SSL。(这部分没有问题)。另外,我想要求 SSL 连接使用客户端证书,但不要求 HTTP 连接使用。这似乎是我做不到的。

IIS 是运行在 Windows Server 6.2(2012 R2)上的 8.5.9600.16384。

背景,不需要回答问题

我们有一个网站,IT 安全部门要求我们使用智能卡客户端证书。该软件有一个本机管理 UI,可以对 Web 服务器执行 HTTP/XML/Soap/任何调用。此本机管理 UI 无法配置为使用客户端证书;而且,即使可以,IT 安全部门也不会允许我们创建不需要智能卡+PIN 的“静态”证书。因此,我希望管理软件仅在 127.0.0.1 上使用 http - 无需证书 - 同时仍要求用户使用 https 和证书。能够仅在 Web 服务器上运行管理软件不会造成太大影响。是的,我知道我必须仔细检查服务器上没有运行任何可以充当代理来欺骗“仅本地主机”检查的东西。

我尝试按照“额外的仅限本地主机的 IIS 站点”部分中的说明设置第二个站点移动(不同的软件,但问题相同),但这完全破坏了我的软件。该软件试图读取 IIS 配置来配置自身,如果它在两个网站上运行,就会变得非常混乱。所以我只能使用“一个网站,两个绑定”,但这样一来,IIS 就不允许我“要求客户端证书,但只能在 SSL 端口上”。

相关内容