【问题标题】:Removing Server and X-Powered-By HTTP Headers on Azure Web Site Preview在 Azure 网站预览中删除服务器和 X-Powered-By HTTP 标头
【发布时间】:2013-01-28 23:10:20
【问题描述】:

为了安全起见,我想删除任何显示有关我的应用程序正在运行的操作系统、Web 服务器或框架的详细信息的 HTTP 标头。我能够使用在 SO 和其他地方找到的文章从 IIS Express 本地显示中删除所有内容。不幸的是,当我发布到我的 Azure 网站预览版时,保留了三个标题:

  1. 服务器:Microsoft-IIS/7.5
  2. X-Powered-By:ARR/2.5
  3. X-Powered-By:ASP.NET

我找到的文章是针对 Azure Web 角色而不是网站预览的,例如 this one

有谁知道如何从网站预览中删除?

【问题讨论】:

    标签: azure


    【解决方案1】:

    Windows Azure 网站是共享基础架构,您无法像在 Web 角色中那样配置 IIS。正如您正确指出的那样,您可以删除这些标题:

    • X-AspNet-版本
    • X-AspNetMvc-版本

    但留下以下内容:

    • 服务器:Microsoft-IIS/7.5
    • X-Powered-By:ARR/2.5
    • X-Powered-By:ASP.NET

    即使您实施了所有必要的步骤来抑制这些标头,您也会从我的博客post 中看到非法请求将由 HTTP.SYS 在内核级别处理,这将返回 Microsoft-HTTPAPI/2.0 标头。您需要编辑注册表以删除此标头。

    结论是,如果您想要最终控制 IIS 和 HTTP.SYS,您需要将您的网站托管在非共享基础架构中。因此,您的选择是 Windows Azure 云服务中的 Web 角色。

    【讨论】:

    • 谢谢保罗。这是我得出的结论,但很高兴得到验证。顺便说一句,我试图在 URL 的末尾使用小于符号来获取 Microsoft-HTTPAPI/2.0 服务器响应,但可以让它返回。我收到 HTTP/1.1 400 错误请求消息,服务器:Microsoft-IIS/7.5。
    • 我看到 Microsoft-HTTPAPI/2.0 标头在部署到 Azure 网站时没有通过。不确定这是否与 IIS 7.5 和 8.0 有关,或者共享基础架构上的 IIS 是否正在清理标头。
    【解决方案2】:

    【讨论】:

      【解决方案3】:

      检查这个线程How to remove ASP.Net MVC Default HTTP Headers?,不仅是主要响应,还有下面的响应。

      【讨论】:

      • 我已经应用了这些设置,这些设置在本地 IIS Express 中有效,但 Azure 网站预览仍显示在标题中。
      猜你喜欢
      • 2021-05-06
      • 1970-01-01
      • 2018-07-14
      • 2013-12-28
      • 1970-01-01
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 2022-12-29
      相关资源
      最近更新 更多