在IIS中强制确切的主机名匹配

我正在寻找如何在使用https时在IIS内强制确切的主机名匹配。 例如,我希望“ https://works.mysite.com/resource ”正常,但是“ https://noworks.mysite.com/resource ”返回404(假设它们都parsing为相同的IP)。

IIUC,去“ https://noworks.mysite.com/resource ”时IIS的默认行为是获取证书警告,如果用户按下继续,用户可以访问该URL。

我可以通过生成一个* .mysite.com SSL证书来实现这一点,然后在IIS的绑定中指定主机名,但是在开头没有*时,主机名字段被禁用并且空白。

我在这里错过简单的东西吗?

你想要什么叫做“主机头”

您只能在用户界面中为HTTP连接执行主机标头,对于SSL,则需要appcmd:

appcmd set site /site.name:“ <IISSiteName> ”/+bindings. <hostHeaderValue> ' <hostHeaderValue> ', <hostHeaderValue> '*:443: <hostHeaderValue> ']

在这里看到更多的细节