You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IIS 8.5使用重写模块隐藏响应头敏感信息出现重复头问题求解

问题根因

你遇到的重复响应头问题是IIS出站重写规则的默认行为导致的:缺省状态下,重写规则对响应头执行Rewrite操作时不会覆盖已存在的同名头,只会追加新的头条目,所以才会出现原始值、空值两条重复记录。

解决方案

  • 方案1(无额外逻辑需求时推荐使用):直接删除<httpProtocol>/<customHeaders>节点下对应的add条目,仅保留<clear />即可,从源头上不再生成不需要的响应头,自然不会出现重复问题。
  • 方案2(需要保留自定义头生成逻辑、仅特定场景隐藏时使用):给所有重写规则的action节点添加replace="true"属性,该属性会指定重写操作直接覆盖原有同名响应头,而非追加新条目。

方案2完整配置示例

<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="" replace="true" />
          </rule>
          <rule name="Hide X-UA-Compatible header">
               <match serverVariable="RESPONSE_X-UA-Compatible" pattern="(.*)" />
               <action type="Rewrite" value="" replace="true" />
          </rule>
            <rule name="Hide X-Frame-Options header">
                <match serverVariable="RESPONSE_X-Frame-Options" pattern="(.*)" />
                <action type="Rewrite" value="" replace="true" />
            </rule>
            <rule name="Hide Content-Security-Policy header">
                <match serverVariable="RESPONSE_Content-Security-Policy" pattern="(.*)" />
                <action type="Rewrite" value="" replace="true" />
            </rule>
    </outboundRules>
</rewrite>

修改配置后保存,重启对应站点或执行iisreset命令即可生效。

内容的提问来源于stack exchange,提问作者Fatman123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 12:36:02