nginx отважно игнорировать client_max_body_size - PullRequest
0 голосов
/ 09 мая 2020

Хорошо, я видел все ответы, в которых как минимум упоминается такая проблема с nginx, поэтому, пожалуйста. Мне просто нужно увеличить размер загружаемого тела до 100 мб. Итак, моя установка: простой AWS экземпляр EC2 с 18.04 ubuntu со следующим /etc/nginx/nginx.conf:

http {
    ...
    client_max_body_size 100m;
}

И один из сайтов /etc/nginx/sites-available/my-api.domain.ltd:

server {
    client_max_body_size 100m;

    location /media/upload {
        proxy_pass http://10.0.1.5:5000/media/upload;
        ...
        client_max_body_size 100m;
    }

Как я предполагаю все сделано в соответствии с документами и отвечает как , что . Под капотом http://10.0.1.5:5000 находится еще один экземпляр EC2 с dotnet core app, запущенным как Docker -контейнер. Все группы безопасности, порты и прочее сделано: все работает, кроме одной мелочи, которую не могу исправить целый день! Даже все настройки client_max_body_size установлены, конечная точка по-прежнему не может обрабатывать запросы с телом более 1 МБ!

Да, я дважды проверил свое приложение do tnet: оно имеет ограничение по умолчанию: 30 МБ для загрузки . Так что, пожалуйста, попробуйте показать мне то, что я пропустил, потому что я застрял. Спасибо.

1 Ответ

0 голосов
/ 11 мая 2020

Я все просмотрел и наконец разобрался в проблеме. Проблема возникла в nginx, который был помещен в dokku на моей 10.0.1.5 машине. Исправлено:

sudo echo 'client_max_body_size 100m;' > /home/dokku/app/nginx.conf.d/upload.conf

chown dokku:dokku /home/dokku/app/nginx.conf.d/upload.conf
...