Документация к директиве 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