Я пытаюсь кэшировать запросы публикации для веб-сайта, который использует запросы публикации для навигации.
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $host;
proxy_cache my_cache;
proxy_cache_valid 200 30d;
add_header X-Cache-Status $upstream_cache_status;
proxy_ignore_headers Cache-Control;
proxy_cache_use_stale error timeout http_500 http_502 http_503 http_504;
proxy_cache_methods GET HEAD POST;
proxy_cache_key "$request_uri|$request_body";
proxy_pass https://example.com
Я меняю ключ кеша, чтобы включить в него данные публикации. До этого все запросы давали одинаковый результат. Проблема теперь в том, что данные публикации включают ключ сеанса, который изменяется для каждого посетителя, вызывая создание новой записи в кеше. Я хотел бы включить определенное поле сообщения в ключ кеша, например. цель.
Это можно сделать в запросах GET в следующем формате:
proxy_cache_key "$ uri $ is_args $ arg_target";
Есть ли что-то подобное для запросов POST?