Назад | Перейти на главную страницу

nginx proxy_cache_key с единственной схемой $

Я протестировал 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» задают параметры кеширования ответов;

Вы можете проверить, включены ли эти заголовки в ответ, и / или попробовать игнорировать их.