У меня есть приложение Rails с некоторыми функциями реального времени, предоставляемыми серверами ActionCable, работающими в распределенной среде. Мой интерфейс успешно подключается к действующим кабельным каналам, чтобы быть в курсе изменений статуса
Я бы хотел настроить мониторинг этой конечной точки на wss://www.myjobglasses.com/cable
. Например, он используется на страницах вроде this .
Я пробовал несколько решений для мониторинга
Но всем этим поставщикам не удалось успешно подключиться к конечной точке.
На вышеупомянутых веб-сайтах, таких как uptimechecker
, я настраиваю мониторинг веб-сокетов следующим образом
- URL:
wss://www.myjobglasses.com/cable
- После подключения отправьте это сообщение в сокет:
{"command":"subscribe","identifier":"{\"channel\":\"MyChannel\",\"id\":\"5a7479fc24c4282c7419062d\"}"}
- В ответ ожидаем, что сообщение будет содержать
confirm_subscription
Мой балансировщик нагрузки приложения AWS настроен на маршрутизацию всего трафика на /cable
URL-адреса на фактические серверы, на которых работают серверы ActionCable, и он отлично работает из браузера Chrome для моего приложения в работе (см. Ниже скриншот), но никогда работает с внешнего сайта
Недавно был добавлен мониторинг веб-сокетов на сайте 24x7, и после обсуждения этой темы они ответили
Похоже, что настроенная вами конечная точка WebSocket прерывает все соединения. Мы не можем подключиться к нему даже с помощью различных инструментов и мест.
Возможно, что контекст с веб-страницы (файлы cookie, заголовки) необходим для установления соединения WebSocket, которое будет присутствовать, когда браузер находится на веб-странице, но не при создании автономного соединения.
Есть ли у вас какие-то подсказки относительно того, что может происходить? Как правильно настроить actioncable мониторинг веб-сокетов (чтобы мы могли получать уведомления, когда служба не работает)?