移除IIS默认的响应头

6/23/2014来源:ASP.NET技巧人气:3555

在IIS+asp.net的运行环境,默认情况下会输出以下的响应头(Response Headers):

IIS默认响应头

那如何移除这些响应头呢?下面我们来一个一个移除。

1. 移除Server

借助IIS URL Rewrite Module,添加如下的重写规则:

复制代码
<rewrite>
        <allowedServerVariables>
            <add name="REMOTE_ADDR" />
        </allowedServerVariables>            
        <outboundRules>
            <rule name="REMOVE_RESPONSE_SERVER">
                <match serverVariable="RESPONSE_SERVER" pattern=".*" />
                <action type="Rewrite" />
            </rule>
        </outboundRules>
</rewrite>
复制代码

重写规则存放在C:\Windows\System32\inetsrv\config\applicationHost.config中。

2. 移除X-AspNet-Version

在web.config的<httPRuntime>中添加enableVersionHeader="false":

<httpRuntime enableVersionHeader="false" />

3. 移除X-AspNetMvc-Version

在 Application_Start() 中添加如下代码:

protected void Application_Start() 
{ 
    MvcHandler.DisableMvcResponseHeader = true; 
}

4. 移除X-Powered-By

在IIS Manager的HTTP Response Headers中移除X-Powered-By:

【参考资料】

Remove Unwanted HTTP Response Headers