9

我正在尝试将我的 IIS 服务器设置为 CDN 的源服务器。我已经解决了一些问题,例如 IIS 没有向代理提供 gzip 压缩的内容(如果它们有 via 标头)以及频繁的 HitThreshold 问题。

我的 CDN 供应商指出 IIS 的另一个问题是,如果客户端不请求压缩后的内容,它不会返回“Vary”标头。根据他们的说法,问题是如果由于某种原因请求内容的第一个客户端不希望内容 gzip 压缩 CDN 然后不请求文件的新版本,因为 Vary 标头不指示它应该返回两个不同的文件,取决于“接受编码”。

到目前为止,我唯一的解决方案是将“Vary:Accept-Encoding”添加为自定义标头,但由于 IIS 在请求 gzip 时自动添加此可变标头,因此我最终得到多个值,例如“Vary:Accept-Encoding,Accept-Encoding” .

有人对此有任何解决方案吗?或者可以确认这是一个真正的问题。

4

2 回答 2

5

这是一个真正的问题。IIS gzip 模块会覆盖现有的 Vary 标头。请对此 MS Connect问题投票。相关文章在这里

于 2012-11-21T03:15:54.727 回答
3

此问题现已通过 IIS 的官方补丁得到解决。要下载和更多信息,请访问http://support.microsoft.com/kb/2877816

Erez Benari,IIS 项目经理

于 2013-12-17T23:27:00.987 回答