Документация к директиве fastcgi_cache_key
Gena Makhomed
gmm на csdoc.com
Чт Ноя 29 14:59:09 UTC 2018
Здравствуйте, All!
В документации к директиве fastcgi_cache_key приведен такой пример:
fastcgi_cache_key localhost:9000$request_uri;
У этого примера есть несколько проблем:
1. Если кто-то сделает к бекенду HEAD-запрос, то в кеш запишется пустой
ответ и на последующие GET-запросы будет отдаваться пустая страница.
2. Как правило на современных серверах размещено больше одного сайта.
При такой настройке как рекомендуется в документации - кеш будет
представлять собой смесь из содержимого разных сайтов и нормально
работать не будет.
3. если бекенд возвращает для HTTP-версии сайта редирект на HTTPS версию
сайта, такое значение fastcgi_cache_key бужет приводить к проблемам,
так как для HTTPS-запроса будет возвращаться 301 редирект из кеша.
Можно ли исправить документацию и написать там в качестве примера
такой фрагмент:
fastcgi_cache_key "$request_method $scheme://$host$request_uri";
такая директива работает нормально, нет трех вышеперечисленных проблем.
P.S.
Недавно в очередной раз столкнулся в проблемой, когда люди бездумно
копируют в конфиг рекомендуемые варианты директивы fastcgi_cache_key
из документации, не подозревая, что в документации записано в качестве
рекомендуемого варианта то, что нормально работать у них не будет.
--
Best regards,
Gena
Подробная информация о списке рассылки nginx-ru