504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер?
в логах
/var/log/nginx/error.log есть записи о
upstream timed out (110: Unknown error) while reading response header from upstream
но заметил, что 504 Gateway Time-out nginx возникает на клиенте (iOS приложение) только, если клиент передает на Vapor сервер сообщение больше обычного (например 13 строк текста, а не 10. Тип String, < 1MB, не изображение base64).
в конфигурации nginx (/etc/nginx/nginx.conf):
client_max_body_size 100M;
proxy_read_timeout 60s;
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
send_timeout 60s;
в configure Vapor:
app.http.client.configuration.timeout = .init(connect: .seconds(60), read: .seconds(60))
app.routes.defaultMaxBodySize = "100mb"
Локальный запуск сервера отрабатывает без ошибок для клиента, поэтому склонен верить, что ошибка в nginx, а не в vapor.
Ради полноты картины поиграл с размерами CPU дроблета - все равно возникает 504 через 10 секунд после запроса с клиента.
Куда еще имеет смысл посмотреть?
Стикер
Стикер
Стикер
логично, пропустил спасибо
заметил, что на клиенте проходит ровно 10 секунд и приходит 504, хотя в конфигурации nginx стоят timeout-ы в 60 секунд - я что-то упускаю при описание конфига? если правильно помню, у nginx как раз какой-то из тайм-аутов 10 секунд по дефолту
да, но тогда, запустив сервер, Vapor бы что-то писал в логах - а так хорошо отрабатывает, без прерываний
да, стоит 60s в контексте “http” в файле конфигурации
Стикер
Я погуглил, proxy_read_timeout имеет default 60.
Стикер
Стикер
Вы не протрассировали обработчик в вапоре?
если вы про саму обработку запросов на стороне вапора - то да, проверял по шагам
Не доходит до конца?
proxy_pass вроде не прописывал
если запуск сервера локально, но всегда доходит
Тогда действуют настройки из вышестоящего контекста (http)
нет, попробую 👍
Нет, я конечно имел в виду те случаи, когда возникает ошибка
А что вообще происходит в обработчике? Настало время подробностей. :)
Обсуждают сегодня