我正在尝试将我的 IIS 服务器设置为 CDN 的源服务器。我已经解决了一些问题,例如 IIS 没有向代理提供 gzip 压缩的内容(如果它们有 via 标头)以及频繁的 HitThreshold 问题。
我的 CDN 供应商指出 IIS 的另一个问题是,如果客户端不请求压缩后的内容,它不会返回“Vary”标头。根据他们的说法,问题是如果由于某种原因请求内容的第一个客户端不希望内容 gzip 压缩 CDN 然后不请求文件的新版本,因为 Vary 标头不指示它应该返回两个不同的文件,取决于“接受编码”。
到目前为止,我唯一的解决方案是将“Vary:Accept-Encoding”添加为自定义标头,但由于 IIS 在请求 gzip 时自动添加此可变标头,因此我最终得到多个值,例如“Vary:Accept-Encoding,Accept-Encoding” .
有人对此有任何解决方案吗?或者可以确认这是一个真正的问题。