upload_pass
Директива upload_pass указывает местоположение, на которое пересылается тело запроса после загрузки файлов.
Описание
Директива 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 настроена правильно, поскольку загруженные файлы будут сохраняться в указанной директории до передачи запроса.