Есть websocket сервер который проксируется через nginx.
Клиент подключается, первые 10 минут все нормально, ровно через 10 минут клиент шлет сообщения - сервер не реагирует (должен послать ответ, но до сервера сообщения по всей видимости так и не доходят). Клиент безответно шлет еще несколько сообщений и отрубается, переподключается и опять все нормально работает, через 10 минут то же самое.
location / {
proxy_pass http://websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
add_header Access-Control-Allow-Origin "*";
}
Таймауты 300s это вроде как 5 минут а не 10.
Так же есть SSL, там есть такая настройка, что вроде как тоже не 10 минут:
ssl_session_timeout 1440m;
В остальном никаких таймаутов нигде не задано. Ошибок в логах нет. Что это может быть?
Сам сервер работает на nodejs + ws. Там могут быть такие лимиты/таймауты по умолчанию?
На вебсокете висит несколько тысяч клиентов. Но не думаю что проблема в каких-то лимитах на количество коннектов, потому что все работает для каждого клиента ровно 10 минут.