Приветствую!
Есть контент, который кэшируется директивами fastcgi_cache:
> fastcgi_cache_path /var/cache/nginx/api_cache levels=1:2
keys_zone=api_cache:50m max_size=1000m inactive=600m;
> fastcgi_cache api_cache;
> fastcgi_cache_valid 200 1m;
> fastcgi_cache_use_stale error timeout invalid_header updating;
> fastcgi_cache_lock on;
> fastcgi_cache_key
"$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";
Цель - кэшировать ответы в зависимости от языка в запросе Accept-Language
Собственно ответ следующего вида:
> HTTP/1.1 200 OK
> Server: nginx
> Date: Wed, 30 Mar 2016 17:13:01 GMT
> Content-Type: application/json
> Transfer-Encoding: chunked
> Connection: close
> Vary: Accept-Encoding
> Cache-Control: max-age=3600, public
> Expires: Wed, 30 Mar 2016 18:12:26 GMT
> Vary: Accept-Language
Насколько я понял из документации
<http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_cache_valid>
это
должно позволить переопределять и время кэширования и fastcgi_cache_key
будет немного другой и включит в себе хедеры в Vary. Но если б все было как
предполагалось - я бы сюда не писал :). Собственно и Cache-Control и Vary
заголовки игнорируются, кэшируется на минуту с первым попавшим языком. Что
я не так делаю?
nginx version: nginx/1.8.1
Спасибо!
Александр
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru