Наткнулся на небольшие грабли в nginx при установке https. В целом, сказанное здесь относится не только к nginx, но и к любому серверу занимающемуся терминацией SSL (TLS) и кешированием динамического контента.
Кеш NGINX, как и любой кеш, представляет собой key-value базу данных. NGINX при поступлении запроса ищет в нем нужный ресурс используя в качестве ключа хеш от неких параметров, указанных директивой proxy_cache_key
.
По умолчанию она принимает следующее значение:
proxy_cache_key $scheme$proxy_host$request_uri;
Чем меньше переменных в ней указано, тем (незначительно) выше производительность, поэтому есть соблазн удалить первую переменную ($scheme — схема URL, принимает значения «http://» или «https://»).