У меня странное поведение с Nginx. В моем случае Nginx действует как прокси для Jetty. Конфигурация ниже:
server {
listen 80;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
client_max_body_size 5M;
server_name test.com www.test.com
location / {
auth_basic "Restricted area";
auth_basic_user_file /etc/nginx/htpasswd;
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto http;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
gzip on;
}
}
При загрузке файла размером более 5M я получаю «таймаут шлюза». Загрузка процессора составляет 0%. Понятия не имею, что случилось. Это не связано со скоростью сети, потому что я тестирую это локально.
Если я пропущу прокси и попытаюсь загрузить файл на сервер приложений напрямую (я имею в виду: через порт 8080), все будет работать как шарм.
Любая идея ?? С уважением!
Вероятно, нужно увеличить время ожидания восходящего потока nginx. Попробуйте добавить ниже в свою исходную конф.
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
Возможно, вам нужно изменить лимит на
client_max_body_size 5M;
к чему-то вроде
client_max_body_size 10M;