Комментарии 9
multipart/form-data позволяет вместе с файлом отправить и другие данные, составляющие комплексный запрос. К тому же HTML5 умеет создавать FormData объекты, не привязанные к DOM, которые благополучно скармливаются jQuery.
В
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?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Сервис загрузки файлов на Golang