Pull to refresh

Comments 9

multipart/form-data позволяет вместе с файлом отправить и другие данные, составляющие комплексный запрос. К тому же HTML5 умеет создавать FormData объекты, не привязанные к DOM, которые благополучно скармливаются jQuery.
Но при этом multipart/form-data должен кто-то парсить, чтобы вытаскивать от туда файл и другие данные. Так что уже не получится схемы, когда сохранением файла занимается исключительно nginx.
В location /files видимо должно быть тоже proxy_pass_request_body off;, чтобы не передавать тело запроса, а только путь к файлу.
Да, стоит добавить. Тогда уже и proxy_set_header Content-Length "";
Там так написано потому, что ещё задано proxy_method GET;. Это важный момент, поскольку у GET запросов, как известно, Content-Length быть не должно. В частности, у вас для location /auth установка proxy_set_header Content-Length 0; некорректна, поскольку auth_request тоже посылает GET запрос.

Если не менять тип запроса, то для POST запросов без тела лучше использовать значение 0, а не спиливать заголовок совсем. В противном случае бекенд будет вынужден определять окончание запроса по закрытию соединения, что не очень оптимально и делает невозможным включение keep-alive в этом месте.
А вы внимательный.

Не принципиально.
Sign up to leave a comment.

Articles