我正在寻找如何在使用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>']
在这里看到更多的细节