Background: это было написано для "фронт-энд" сервиса, который должен был проксировать HTTP и WebSocket-запросы на несколько внутренних сервисов.
Для того, чтобы переопределить то, как Phoenix обрабатывает вебсокеты, надо поменять настройки HTTP сервера (Cowboy), а именно настройки роутинга (:dispatch
) — см. config.exs
. Тут мы указываем, что для любого хоста: а) для пути "/aaa/websocket"
вызывается хендлер API.Gateway.WSReverseProxy
, б) для любого другого пути вызывается дефолтный хэндлер Phoenix.
API.Gateway.WSReverseProxy
— это хэндлер Cowboy, для подробной информации о р