Node.js WebSocketServer (wss/ws), запущенный в докере, показывает разорванное соединение с кодом 1006 (случайным образом)

#node.js #linux #docker #websocket

Вопрос:

Я обнаружил проблему со случайным сбоем подключения к WebSocket с кодом 1006 в моем приложении.

У меня есть такая конфигурация: введите описание изображения здесь

Приложения install-websocket-proxy, meter-install и meter-checkout являются node.js приложения, которые запускаются как контейнеры docker. Модули взаимодействуют через службу MQTT (mosquito).

«Приложение для установки» — это приложение для смартфона, которое подключается через «wss» к общедоступному серверу. На общедоступном сервере есть прокси-сервер apache, который перенаправляет трафик на установку-пример websocket-сервера:

введите описание изображения здесь

Что я заметил, так это то, что случайным образом соединение разрывается и возникает ошибка с кодом 1006. Я использую библиотеку «ws»: «^7.5.5», и приложение запущено на узле изображения docker:10-alpine.

Если я попытаюсь подключиться с помощью какого-либо клиента WebSocket напрямую к прокси-серверу Install-webscoket, соединение будет постоянным, и с этим не возникнет никаких проблем. Проблема возникает только в том случае, если клиент получает доступ к WebSocket через wss.

Вот пример журнала, который я получаю: введите описание изображения здесь

Есть идеи, что может быть не так или как правильно проверить, что происходит?