Я использую сервер Rails ActionCable, используя автономную версию пассажира на AWS.
Настройка работает достаточно хорошо, у меня есть следующий файл конфигурации
# cable/config.ru
require_relative '../config/environment'
Rails.application.eager_load!
run ActionCable.server
И я запускаю ActionCable, используяэта команда
execute(:passenger, 'start',
'--environment', fetch(:rails_env),
'--port', '28080',
'--max-pool-size', 2,
'-R', 'cable/config.ru',
'--pid-file', shared_path.join('tmp/pids/cable.pid'),
'--log-file', shared_path.join("log/cable-#{fetch(:rails_env)}.log"),
'--force-max-concurrent-requests-per-process', '0',
'--daemonize'
)
Теперь проблема в том, что я пытаюсь поместить это за AWS ALB (ELBv2) и настроить правильные проверки работоспособности, чтобы позже я мог настроить автоматическое масштабирование / восстановление после сбоя.Однако, согласно документации AWS, проверки работоспособности ALB не поддерживают веб-сокеты.
Можно ли настроить обычный маршрут проверки работоспособности HTTP для балансировщика нагрузки вместе с сервером ActionCable.В идеале этот маршрут должен быть связан с моим /cable
URL-адресом (когда кабельный сервер не работает, проверка работоспособности должна быть отключена)
Есть идеи?