我有一个自托管的OWIN应用程序,并希望从所有响应中删除Server头("Microsoft-HTTPAPI/2.0")。在Google上搜索时,看起来这是一项非常容易的任务,例如来自MSDN的博客文章提供了一个似乎非常简单的解决方案。我按照以下步骤操作:
- 在 HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters 中添加注册表键 DisableServerHeader并将其设置为DWORD 1
- 重新启动服务器以确保HTTP服务捕获更改
结果令人失望,没有任何变化,我仍然得到Server头。令我困惑的是,所有解决方案都完全相同,对它们来说似乎可以工作。 是否还需要其他步骤才能从自托管的OWIN应用程序中删除Server头?
更新 我尝试添加Server头,它实际上有效,但它仍会添加Microsoft-HTTPAPI/2.0。
将此代码作为DelegatingHandler添加:
HttpResponseMessage response = await base.SendAsync(request, cancellationToken);
response.Headers.Server.Add(new ProductInfoHeaderValue("Foo", "1.0"));
生成此服务器标头: 服务器: Foo/1.0 Microsoft-HTTPAPI/2.0