proxy_set_body

Устанавливает тело запроса в указанное значение для целей проксирования.

Синтаксисproxy_set_body value;
По умолчаниюnone
Контекстhttp, server, location
Аргументы1

Описание

Директива proxy_set_body используется для изменения тела запроса, которое передаётся проксируемому серверу. Обычно, когда NGINX проксирует запрос, он пересылает тело запроса клиента в том виде, в каком оно было получено. Однако бывают ситуации, когда требуется изменить это тело — например, при реализации обратного прокси, который должен преобразовать данные запроса перед их дальнейшей отправкой.

Содержимое тела можно указать как аргумент этой директивы; оно может включать произвольный текст или данные, которые заменят оригинальное тело запроса. Директива может располагаться в различных контекстах, включая http, server и location, что даёт гибкость в том, как запросы изменяются на разных уровнях. Когда новое тело установлено с помощью этой директивы, оно переопределяет исходное тело запроса и будет отправлено проксируемому серверу в качестве полезной нагрузки запроса.

Учтите, что новое содержимое тела должно быть совместимо с типом запроса. Например, если upstream сервер ожидает JSON-полезную нагрузку, тело, заданное через proxy_set_body, должно быть корректной JSON-строкой, чтобы избежать ошибок или непредвиденного поведения.

Пример конфига

location /api {
    proxy_pass http://backend;
    proxy_set_body '{"key":"value"}';
}

Установка пустого тела может привести к тому, что проксируемый сервер получит пустое тело запроса.

Убедитесь, что формат тела соответствует тому, что ожидает вышестоящий сервер, иначе он может отклонить запрос.

← Ко всем директивам