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

Настройка Nginx proxy_cache_key на основе конкретной переменной сообщения

Я пытаюсь кэшировать запросы публикации для веб-сайта, который использует запросы публикации для навигации.

    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?