upload_pass_args

Директива `upload_pass_args` определяет, следует ли передавать аргументы запроса из исходного запроса в целевой URI при загрузке файлов.

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

Описание

Директива upload_pass_args является частью модуля NGINX, предназначенного для обработки загрузок файлов с использованием кодирования multipart/form-data. Когда эта директива включена (установлена в 'on'), она инструктирует NGINX передавать аргументы запроса исходного запроса в локацию, указанную в директиве upload_pass. Если директива установлена в 'off', аргументы запроса не будут пересылаться, что позволяет более контролируемо обрабатывать загруженные данные без нежелательных параметров запроса, влияющих на обработку в месте назначения.

Данная директива влияет на поведение запросов, обрабатываемых через модуль загрузки файлов. При загрузке NGINX обычно удаляет поля файлов из запроса и перенаправляет обработанный запрос в определённую локацию для обработки. Передавать ли сопутствующие аргументы также зависит от конфигурации директивы upload_pass_args, что даёт гибкость и контроль над потоком данных.

Важно отметить, что переданные аргументы сохранят свои оригинальные имена и значения, что может быть полезно для логирования или дополнительной обработки в месте обработки. Однако следует соблюдать осторожность, чтобы пересылаемые аргументы не ставили под угрозу безопасность или не вызывали конфликтов в логике обработки у обработчика назначения.

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

location /upload {
    upload_pass /handle_upload;
    upload_pass_args on;
    upload store /tmp/uploads;
}

Забыть установить upload_pass_args в 'on', когда для обработки требуются аргументы запроса.

Неправильная настройка директивы upload_pass без надлежащей обработки может привести к нежелательному поведению при передаче параметров.

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