Я протестировал proxy_cache_key с одной схемой $
proxy_cache_key $scheme;
proxy_pass http://127.0.0.1:8081/;
Затем я прошу один кешировать.
curl http://127.0.0.1:8080/a.html
Потом еще раз попросил подтвердить кеш
curl http://127.0.0.1:8080/a.html
нет проблем
Затем я запрашиваю другой URL
curl http://127.0.0.1:8080/b.html
И надеюсь, что он попадет в кеш, потому что ключ - $ scheme
но он дал мне содержимое b.html
Зачем proxy_cache_key $scheme;
не работает?
Заголовки из ответа прокси-сервера могут изменить «окончательный» ключ кеша.
Из https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_ignore_headers :
Если не отключено, обработка этих полей заголовка имеет следующий эффект:
- «X-Accel-Expires», «Expires», «Cache-Control», «Set-Cookie» и «Vary» задают параметры кеширования ответов;
Вы можете проверить, включены ли эти заголовки в ответ, и / или попробовать игнорировать их.