【问题标题】:Remove Server Response Header IIS8 for error 400 and 500删除错误 400 和 500 的服务器响应标头 IIS8
【发布时间】:2023-03-10 07:02:01
【问题描述】:

我需要删除我网站上的服务器横幅。到目前为止,我已经尝试了以下解决方案,主要针对编辑 web.config 和使用 urlscan/urlrewrite:

Remove Server Response Header IIS7

Removing/Hiding/Disabling excessive HTTP response headers in Azure/IIS7 without UrlScan headers-in-azure-iis7-without

Remove Server Response Header IIS7

Disabling IIS Server Response Headers in Case of 404 and 302 Files

这些线程提供了删除服务器横幅的解决方案,但仅限于 http 服务器响应 200 的实例。在服务器响应 302/400/500 的情况下,这些不会删除服务器横幅,就像下面的响应一样。

HTTP/1.1 400 Internal Server Error
Server: Microsoft-IIS/8.0
X-Powered-By: ASP.NET
Content-Length: 0

有人可以重定向我可能的解决方案吗?谢谢!

【问题讨论】:

  • 你可能会从blog.lextudio.com/…得到一些非常基本的想法
  • 谢谢@LexLi 我已经尝试了您博客中的建议,但它仍然显示服务器标头。 :(
  • 您的链接包含删除服务器响应标头的所有方法。他们应该工作。你能告诉我你是怎么尝试的吗?例如,您是如何创建 url 重写规则来删除服务器响应标头的?
  • 你好@samwu,我再次尝试了 url 重写,但不是手动编辑配置并从上述链接的解决方案中添加相同的配置。我点击了这个链接,它工作了:improveandrepeat.com/2020/01/… 这很奇怪。

标签: security server header response iis-8


【解决方案1】:

这个问题主要是因为IIS服务器没有发送响应。

由于这是一个错误请求 (400),HTTP 服务本身正在响应它 - 而不是将它转发到 IIS。因此请求从未到达 IIS

要解决此问题,您需要在 Windows 注册表中为 HTTP 服务本身进行修改。

按照以下步骤操作

  1. 打开注册表
  2. 导航到Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
  3. 如果 DisableServerHeader 不存在,则创建它(DWORD 32 位)并将其值设置为 2。如果存在但值不是 2,请将其设置为 2。
  4. 重启服务器或调用net stop http然后net start http重启HTTP服务

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-13
    • 2017-07-11
    • 1970-01-01
    • 2014-11-06
    • 2014-04-19
    • 2017-09-17
    • 2019-05-10
    • 1970-01-01
    相关资源
    最近更新 更多