这让我抓狂。
我们有多个 REST 服务器。我们在 IIS 中设置了一个自定义标头,以便识别哪个服务器正在响应请求。每个服务器都会在此标头中传递其名称。
在 IIS 6 服务器上,这 100% 有效。在 IIS7 上,它运行良好……但几小时或几天后,我在 IIS 中的自定义标头设置消失了。
我有自定义绑定和 ssl,以及配置的各种好东西。
什么可能导致 IIS 删除我的自定义标头设置?
系统是:
- 操作系统
- IIS 7.0
- 标头名称:X-APPSERVER-NAME
- 使用 inet manager gui 应用程序进行更改
只需添加带有本地或基于服务器的设置的默认值的标头
事件的顺序如下:
- 进入IIS管理器
- 访问您的网站
- 添加自定义标头
- 从 Fiddler 进行测试,新的自定义标头在响应中可见
- 退出 IIS Mgr,
- 退出 Windows
- 回家
- 睡觉
- 醒来
- 吃早餐
- 去工作
- 发现自定义标头没了!
- 重复步骤 1-12 几次
- 在这里发布有关服务器故障的问题
谢谢!!
答案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