在 IIS 中强制精确主机名匹配

在 IIS 中强制精确主机名匹配

我正在寻找如何在使用 https 时在 IIS 中强制精确匹配主机名。例如,我想要“https://works.mysite.com/resource“还行,但是”https://noworks.mysite.com/resource“返回 404(假设它们都解析为同一个 IP)。

IIUC,IIS 访问“https://noworks.mysite.com/resource“是得到一个证书警告,如果用户按继续,用户就可以访问该 URL。

我可以通过生成 *.mysite.com SSL 证书来做到这一点,然后在 IIS 中的绑定中指定主机名,但如果开头没有 *,则主机名字段将被禁用并为空白。

我在这里遗漏了一些简单的东西吗?

答案1

你想要的是所谓的“主机头”

您只能在 UI 中为 HTTP 连接执行主机头,对于 SSL,您需要 appcmd:

appcmd 设置站点/site.name:" <IISSiteName>" /+bindings.[protocol='https',bindingInformation='*:443: <hostHeaderValue>']

这里更多细节

相关内容