У меня есть приложение, которое может принимать загрузки файлов и помещает их на S3. Не удалось загрузить некоторые файлы при прохождении через обратный прокси-сервер nginx
.
Теперь у меня есть keepalive_timeout 120;
установить в nginx.conf, а также
client_max_body_size 100m; <--- server {}
proxy_connect_timeout 300; <-- location / {}
proxy_send_timeout 300; <-- location / {}
proxy_read_timeout 300; <-- location / {}
send_timeout 300; <-- location / {}
установить на сайтах моего приложения доступные конфигурации / сайты с поддержкой.
Даже после перезапуска nginx
эта проблема повторяется. Соответствующее сообщение об ошибке.log:
2014/06/12 13:06:52 [error] 2782#0: *1562089 upstream timed out (110: Connection timed out) while reading response header from upstream, client: 173.22.158.100, server: *.url.me, request: "POST /policy/5399ea3712500dc3447ec14d/fileUpload HTTP/1.1", upstream: "http://127.0.0.1:3001/policy/5399ea3712500dc3447ec14d/fileUpload", host: "url.me", referrer: "http://url.me/policy/5399ea3712500dc3447ec14d"
Дело в том, что я не думаю, что это проблема с тайм-аутом. Загрузка файла занимает всего около 8 секунд, чтобы загрузить без прокси-сервера. Использование прокси приведет к зависанию файла на одну или две минуты, а затем к ошибкам.
90% файлов, загружаемых в приложение, представляют собой PDF-файлы, причем все они находятся за пределами размера тела.
Итак, что бы вы предложили?