在 IIS 8.5 中隐藏来自 http header 响应的一些信息

Hide some information from http header response in IIS 8.5

我想在 header 响应中隐藏一些敏感信息。我在 IIS 8.5 中使用重写模块,我隐藏了来自服务器响应的信息,但对于其他 headers,响应有两倍于此 headers,一次包含信息(我们不想要那个)第二没有这个。我们只想保留第二个。出于某种原因,尽管 URL re-writing 似乎工作正常,但原始 header (和值)也包含在响应中。我有这个配置。

    <httpProtocol>
        <customHeaders>
        <clear />
        <add name="X-Frame-Options" value="some value" />
        <add name="X-UA-Compatible" value="some value" />
        <add name="Content-Security-Policy" value="some value" />
    </customHeaders>
</httpProtocol>      
<rewrite>
    <outboundRules rewriteBeforeCache="true">
          <rule name="Hide Server header">
               <match serverVariable="RESPONSE_Server" pattern="(.*)" />
               <action type="Rewrite" value="" />
          </rule>
          <rule name="Hide X-UA-Compatible header">
               <match serverVariable="RESPONSE_X-UA-Compatible" pattern="(.*)" />
               <action type="Rewrite" value="" />
          </rule>
            <rule name="Hide X-Frame-Options header">
                <match serverVariable="RESPONSE_X-Frame-Options" pattern="(.*)" />
                <action type="Rewrite" value="" />
            </rule>
            <rule name="Hide Content-Security-Policy header">
                <match serverVariable="RESPONSE_Content-Security-Policy" pattern="(.*)" />
                <action type="Rewrite" value="" />
            </rule>
    </outboundRules>
</rewrite>

结果是:

enter image description here

我解决了问题。

我不得不将 rewriteBeforeCache 的值从 true 更改为 false