在IIS 10中如何恢复应用级继承自站点级的HTTP响应头?
恢复IIS 10应用对站点级HTTP响应头的继承
当你在应用级删除继承的HTTP响应头时,IIS会在应用的web.config中添加<remove>节点阻断继承逻辑。要恢复继承,核心是移除这个阻断设置,以下是三种可行方案:
方法1:手动编辑应用的web.config文件
- 找到目标应用根目录下的
web.config文件,用文本编辑器打开 - 定位到
<system.webServer>-><httpProtocol>-><customHeaders>节点 - 查找对应头的
<remove name="你的响应头名称" />节点,将其删除 - 保存文件,IIS会自动加载新配置,应用将重新继承站点级的该响应头设置
方法2:通过IIS管理器配置编辑器操作
- 打开IIS管理器,选中需要修复的应用
- 双击功能视图中的「配置编辑器」
- 在顶部的「节」下拉菜单中选择
system.webServer/httpProtocol/customHeaders - 在右侧配置列表中找到被标记为「已删除」的目标响应头,右键点击并选择「重置为继承」
- 点击右侧的「应用」按钮保存更改
方法3:使用AppCmd命令行工具
以管理员身份打开命令提示符,执行以下命令(替换占位符为你的实际信息):
appcmd.exe set config "你的应用完整路径(如Default Web Site/MyApp)" /section:system.webServer/httpProtocol/customHeaders /-"remove.[name='要恢复的响应头名称']"
执行后,应用的阻断继承设置会被移除,自动恢复站点级头的继承。
补充说明
你之前尝试的添加空值头,会在应用级生成<add>节点覆盖继承;站点级重命名删除头则是修改父级配置,都无法解决应用级的继承阻断问题,只有移除应用自身的<remove>标记才能恢复继承逻辑。
内容的提问来源于stack exchange,提问作者Jim 88888
相关产品推荐
相关产品推荐

