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 "";
Только 0, а не "".
Там так написано потому, что ещё задано proxy_method GET;. Это важный момент, поскольку у GET запросов, как известно, Content-Length быть не должно. В частности, у вас для location /auth установка proxy_set_header Content-Length 0; некорректна, поскольку auth_request тоже посылает GET запрос.

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

521 или все-таки 512?

А вы внимательный.

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

Articles

Change theme settings