uwsgi_pass_request_body

Директива uwsgi_pass_request_body контролирует, передается ли тело запроса на сервер uWSGI вместе с заголовками запроса.

Синтаксисuwsgi_pass_request_body on | off;
По умолчаниюon
Контекстhttp, server, location
Аргументыflag

Описание

Директива uwsgi_pass_request_body — это флаг, который определяет, следует ли отправлять тело запроса на сервер uWSGI, когда запрос проксируется с помощью uwsgi_pass. Если установлено в on, тело запроса передается бэкенд-приложению uWSGI, позволяя ему обрабатывать данные, такие как отправки форм, загрузки файлов или другие полезные нагрузки, содержащиеся в теле HTTP-запросов. Соответственно, при off тело запроса не отправляется, что может быть полезно в сценариях, где требуется только информация из заголовков и тело можно игнорировать, что потенциально улучшает производительность за счет снижения объема передаваемых данных.

Эту директиву можно настраивать в контекстах http, server или location, что делает её универсальной и применимой в разных конфигурациях. Она особенно важна для приложений, которые обрабатывают HTTP-методы, обычно имеющие тело, такие как POST или PUT. Поведение этой директивы напрямую влияет на то, как сервер uWSGI взаимодействует с полученными запросами; например, если отправлен запрос, требующий наличия тела, в то время как uwsgi_pass_request_body установлен в off, приложение uWSGI получит уведомление об отсутствии данных в теле, что может привести к ошибкам, если это не обработано корректно.

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

location /api {
    uwsgi_pass unix:/tmp/myapp.sock;
    uwsgi_pass_request_body off;
}

Убедитесь, что бэкенд-приложение готово обрабатывать запросы без тела, когда установлено значение 'off'.

Использование 'off' может привести к проблемам с HTTP-методами, такими как POST, которые обычно требуют наличия тела запроса. Избегайте этого, если приложению требуется тело.

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