upload_pass

Директива upload_pass указывает местоположение, на которое пересылается тело запроса после загрузки файлов.

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

Описание

Директива upload_pass является частью модуля загрузки NGINX, который облегчает обработку загрузок файлов через кодировку multipart/form-data. Когда клиент загружает файлы, сервер NGINX сохраняет эти файлы во временную директорию, указанную директивой upload_store. После сохранения файлов содержимое тела запроса модифицируется: все поля файлов удаляются и заменяются новыми полями, содержащими существенные метаданные загруженных файлов. Этот модифицированный запрос затем пересылается в местоположение, указанное в upload_pass, что позволяет выполнять дальнейшую обработку запроса без исходного содержимого файлов.

Важно понимать, что директива upload_pass работает с ограничением по методам запроса. Она в основном предназначена для обработки POST-запросов. Если встречается метод запроса, отличный от POST, модуль вернёт ошибку 405 (Method Not Allowed). Это поведение можно изменить с помощью директивы error_page, чтобы перенаправлять неподдерживаемые методы к другому обработчику. Кроме того, использование директивы upload_pass требует хорошо продуманной структуры в сочетании с другими директивами, такими как upload_store, чтобы обеспечить надлежащее управление и обработку загруженных файлов в указанном местоположении, способствуя эффективной обработке файлов и интеграции в существующие рабочие процессы приложений.

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

location /upload {
    upload_pass /handle_upload;
    upload_store /tmp/uploads;
}

Убедитесь, что указанный location в upload_pass правильно определён и способен обработать запрос после загрузки файла.

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

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

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