如何移除自托管Http.Sys环境下HTTP响应头中的Server: Microsoft-HTTPAPI/2.0?
解决Http.Sys下无法关闭Server响应头的问题
我最近在Windows Server 2019上运行自托管的ASP.NET Core Web应用,因为需要NTLM认证所以用了Http.Sys而非Kestrel。根据渗透测试的要求,披露服务器平台属于安全漏洞,所以我想关闭Server响应头。
按照微软官方说明,我尝试通过注册表设置DisableServerHeader值为2并重启服务器,但一直没生效:
- 如果不添加自定义
Server响应头,系统会自动返回Server: Microsoft-HTTPAPI/2.0 - 如果添加了自定义的
Server头,系统会自动追加默认值,最终变成Server: my-dummy-value Microsoft-HTTPAPI/2.0
问题根源
折腾了半天后我终于找到原因了!注册表项的参数名称末尾多了个空格——导出注册表键的时候才发现这个细节。把空格移除后重启服务器,配置立刻正常生效了!
正确的注册表配置
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters] "DisableServerHeader"=dword:00000002
内容的提问来源于stack exchange,提问作者MatiasK
相关产品推荐
相关产品推荐

