首页 > 解决方案 > IIS 从响应中删除标头 - Server:Microsoft-HTTPAPI/2.0 when 400 Bad Request

问题描述

我们正在尝试从 API 响应中删除服务器身份标头。我们在全局 web.config 和应用程序 web.config 中添加了重写规则并且工作正常,但是现在当我们将方法类型更改为“Trace”并将“Content-Length”值更改为大于 0 时,它会给出 400 错误。

此时服务器正在响应服务器标头:服务器:Microsoft-HTTPAPI/2.0 我们发现请求未到达服务器 Web 配置或内部应用程序。

服务器:Windows 服务器 2019 - IIS10

任何人都可以向我们建议如何从响应中删除该标头?我们已经尝试过注册表值更改修复但无法正常工作。

标签: .netiisserverhttp.sys

解决方案


你能在 IIS 日志中找到失败的请求吗?如果没有,您在 http C:\Windows\System32\LogFiles\HTTPERR 中看到了什么错误消息?

当您收到响应服务器时:HTTP-API/2.0。那么这意味着标头不是由 IIS 管道添加的。

您只能通过在HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters添加 DWORD DisableServerHeader=1来删除它。

请记住在更改此注册表项后重新启动服务器以使其工作!

https://blogs.msdn.microsoft.com/varunm/2013/04/23/remove-unwanted-http-response-headers/


推荐阅读