我们已经在Azure上部署了服务。
出于安全性考虑,在web.config中,我们设置了以下参数:
<security>
<requestFiltering removeServerHeader ="true"></requestFiltering>
</security>
我正在Postman工具上对此进行测试,当请求发送成功(200请求成功)时, 服务器 被隐藏。
问题:
如果我更改主机名(例如xyz(任何内容为假)),则现在针对相同的请求 然后在响应标题中显示为
我认为它来自IIS(Azure)。
希望任何人都能帮助我
谢谢
答案 0 :(得分:0)
Azure App Services(根据您的截图使用的是您使用的)使用多租户环境来托管应用程序。 SSL卸载发生在称为前端服务器(在IIS10上运行并使用ARR模块)的VM中,然后才达到实际承载正在运行的应用程序的工作线程。
前端服务器与您的一个工作服务器之间的路由/负载平衡是根据传入请求中的“主机” HTTP标头执行的。如果没有标题,前端服务器将不知道将哪些工作进程分配给您的站点,因此无法路由请求。
这就是为什么您收到“ 404 Site Not Found”响应的原因-FE发送它。 这就是为什么您看到标头,但从未访问过web.config的原因。
TLDR:
没有正确的Host标头,您的应用程序将永远无法到达,多租户之谜的另一部分将以404 Site Not Found作为路由中断响应。