proxy_set_body
Устанавливает тело запроса в указанное значение для целей проксирования.
Описание
Директива proxy_set_body используется для изменения тела запроса, которое передаётся проксируемому серверу. Обычно, когда NGINX проксирует запрос, он пересылает тело запроса клиента в том виде, в каком оно было получено. Однако бывают ситуации, когда требуется изменить это тело — например, при реализации обратного прокси, который должен преобразовать данные запроса перед их дальнейшей отправкой.
Содержимое тела можно указать как аргумент этой директивы; оно может включать произвольный текст или данные, которые заменят оригинальное тело запроса. Директива может располагаться в различных контекстах, включая http, server и location, что даёт гибкость в том, как запросы изменяются на разных уровнях. Когда новое тело установлено с помощью этой директивы, оно переопределяет исходное тело запроса и будет отправлено проксируемому серверу в качестве полезной нагрузки запроса.
Учтите, что новое содержимое тела должно быть совместимо с типом запроса. Например, если upstream сервер ожидает JSON-полезную нагрузку, тело, заданное через proxy_set_body, должно быть корректной JSON-строкой, чтобы избежать ошибок или непредвиденного поведения.
Пример конфига
location /api {
proxy_pass http://backend;
proxy_set_body '{"key":"value"}';
}Установка пустого тела может привести к тому, что проксируемый сервер получит пустое тело запроса.
Убедитесь, что формат тела соответствует тому, что ожидает вышестоящий сервер, иначе он может отклонить запрос.