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