.net - 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
任何人都可以向我们建议如何从响应中删除该标头?我们已经尝试过注册表值更改修复但无法正常工作。
解决方案
你能在 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/
推荐阅读
- c - 在 main 中使用头文件中的结构(在 C 中)
- php - 按值组合两个数组的巧妙方法
- javascript - Angular 2 - 仅在未捕获错误时才执行全局错误处理程序
- ios - 出现键盘时 UITableView 不滚动
- netsuite - NetSuite:我想编辑一个 savedSearch 并保存它。但 savedSearch 的过滤器为空
- bash - grep 数据格式错误的日志的最后 10 分钟
- maven - Bintray 新版本未同步到 JCenter
- javascript - AngularJS:搜索和显示
- sql - 如何计算sql中表中特定类型的项目数?
- javascript - 将数组映射到解析器中的模式