【问题标题】:How to hide Server parameter in response header of Azure app Service?如何在 Azure 应用服务的响应标头中隐藏服务器参数?
【发布时间】:2018-09-20 08:46:50
【问题描述】:

我们已经在 Azure 上部署了我们的服务。

出于安全考虑,我们在 web.config 中设置了以下参数:

 <security>
      <requestFiltering removeServerHeader ="true"></requestFiltering>
    </security>

我正在 Postman 工具上对此进行测试,当请求发送成功(200 请求 OK)时,Server 被隐藏在响应中。

问题:

现在对于相同的请求,如果我更改主机名(比如 xyz(任何东西:假的)) 然后在响应标头中显示为

Issue

我认为它来自 IIS (Azure)。

希望有人能帮助我,

谢谢

【问题讨论】:

  • 我还需要删除服务器标头以及其他标头。我发现不仅导致 404 显示的虚假路由仍然显示标题,而且还显示任何静态文件(css 文件等)。但是,网络数据调用正确地隐藏了标头。自从您发布以来,您在这个问题上是否有任何运气?

标签: azure httpresponse azure-web-app-service


【解决方案1】:

Azure 应用服务(根据您的屏幕截图,您正在使用该服务)使用多租户环境来托管应用。 SSL 卸载发生在称为前端服务器(在 IIS10 上运行并使用 ARR 模块)的虚拟机中,然后再点击实际托管正在运行的应用程序的工作人员。

前端服务器和您的一名工作人员之间的路由/负载平衡是根据传入请求中的“主机”HTTP 标头执行的。如果没有标头,前端服务器不知道哪些工作人员分配给您的站点,因此无法路由请求。

这就是您收到“404 Site Not Found”响应的原因 - FE 发送它。 这也是您看到标题的原因,您的 web.config 从未被访问过。

TLDR:

如果没有正确的 Host 标头,您的应用程序永远不会真正到达,多租户难题的不同部分会响应 404 Site Not Found 作为路由中断。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-05
    • 2012-04-24
    • 2021-06-04
    • 2019-04-27
    • 1970-01-01
    • 2017-11-17
    相关资源
    最近更新 更多