我正在尝试删除"服务器"来自IIS 8.0的标头。我已经安装了UrlRewrite并将以下代码添加到我的web.config:
<rewrite>
<outboundRules rewriteBeforeCache="true">
<rule name="Remove Server header">
<match serverVariable="RESPONSE_Server" pattern=".+" />
<action type="Rewrite" value="" />
</rule>
</outboundRules>
</rewrite>
然而,当一个请求进入生成404时,&#34;服务器&#34>标题仍包含在内。
有关如何解决此问题的任何建议?
我正在使用在带有IIS 8的Windows Server 2012上运行的Web API。
答案 0 :(得分:0)
首先在管道中添加一个owin中间件:
public void Configuration(IAppBuilder app)
{
app.Use(async (ctx, next) =>
{
ctx.Response.OnSendingHeaders(state =>
{
var res = (OwinResponse)state;
res.Headers.Remove("Server");
}, ctx.Response);
await next();
});
//...
}