更新时间:2022-07-01 11:21:10
Vary
响应头的处理方式默认情况下, CDN Pro 会将所有来自源站的 Vary
响应头删掉,因此所有的URL在 CDN Pro 的服务器上仅保留一份缓存版本。如果您希望 CDN Pro 按照请求http头部或者请求cookie值来缓存不同的缓存版本,您可以将这些请求头部或者cookie加入到变量 $cache_misc
中。示例如下:
set $cache_misc "ae=$http_accept_encoding";
如果您期望发送 Vary
响应头给客户端以便客户端按照这个头部值来区分缓存,您可以使用指令 add_header
。示例如下:
add_header Vary "Accept-Encoding,User-gent";
如果您需要将源站的 Vary
响应头透传给客户端,您可以使用以下配置来让默认的行为(删掉所有来自源站的 Vary
响应头)失效。在这种情况下,CDN Pro配置了保留源站响应的Vary头,且不对其做任何操作,直接透传给客户端。此时,CDN Pro 将按照响应头 Vary
完全不存在来处理缓存(即不删除Vary头,也不根据Vary头区分缓存)。示例如下:
# 保留源站提供的响应头 `Vary`
origin_header_modify Vary "" policy=preserve;
# Cache不对 `Vary` 做任何操作,仅透传给客户端
proxy_ignore_headers Vary;
如果仅配置了 origin_header_modify Vary "" policy=preserve
而没有配置 proxy_ignore_headers Vary
,那么由于默认生效的配置为 proxy_cache_vary off
,您的文件将不会被缓存在 CDN Pro 平台上。如果您的业务的确需要 CDN Pro 按照响应头 Vary
来区分不同缓存版本,请联系网宿技术支持为您开通配置 proxy_cache_vary on
的权限。