IIS7:自定义响应标头在几小时或几天后丢失

IIS7:自定义响应标头在几小时或几天后丢失

这让我抓狂。

我们有多个 REST 服务器。我们在 IIS 中设置了一个自定义标头,以便识别哪个服务器正在响应请求。每个服务器都会在此标头中传递其名称。

在 IIS 6 服务器上,这 100% 有效。在 IIS7 上,它运行良好……但几小时或几天后,我在 IIS 中的自定义标头设置消失了。

我有自定义绑定和 ssl,以及配置的各种好东西。

什么可能导致 IIS 删除我的自定义标头设置?

系统是:

  • 操作系统
  • IIS 7.0
  • 标头名称:X-APPSERVER-NAME
  • 使用 inet manager gui 应用程序进行更改
    只需添加带有本地或基于服务器的设置的默认值的标头

事件的顺序如下:

  1. 进入IIS管理器
  2. 访问您的网站
  3. 添加自定义标头
  4. 从 Fiddler 进行测试,新的自定义标头在响应中可见
  5. 退出 IIS Mgr,
  6. 退出 Windows
  7. 回家
  8. 睡觉
  9. 醒来
  10. 吃早餐
  11. 去工作
  12. 发现自定义标头没了!
  13. 重复步骤 1-12 几次
  14. 在这里发布有关服务器故障的问题

谢谢!!

答案1

web.config默认情况下,在 IIS7 中添加具有默认值(本地)的标头时,这会写入您的文件中:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpProtocol>
            <customHeaders>
                <add name="X-Test" value="Test" />
            </customHeaders>
        </httpProtocol>
    </system.webServer>
</configuration>

我相信 IIS6 的做法有所不同。

你有没有自动部署/自动更新您的网站,这将覆盖已更改的 web.config?(从而删除自定义标题?)

然后改变你的源 web.config或添加标题IIS 级别(根节点)未写入应用程序 web.config

相关内容