Защищенный веб-сокет (wss) с помощью AWS Load Balancer

У меня есть небольшое приложение nodejs, содержащее сервер веб-сокетов. Приложение размещается в контейнере ecs, поэтому это, по сути, образ докера, работающий в экземпляре ec2.

Веб-сокет работает должным образом в течение ws://. Я использую для этого порт 5000.

Чтобы использовать его на моем защищенном SSL веб-сайте (https), мне нужно использовать защищенное соединение через веб-сокет через wss://.

Чтобы заархивировать это, я создал сертификат на aws (как много раз раньше) и после создания балансировщика нагрузки.

Я пробовал балансировщик нагрузки приложений, балансировщик сетевой нагрузки и классический балансировщик нагрузки (предыдущее поколение).

Я прочитал несколько ответов здесь, в StackOverflow, и выполнил инструкции, а также несколько руководств, найденных с помощью Google.

Я много пробовал, но безуспешно. Конечно, это занимает много времени, потому что создание балансировщика нагрузки и других ресурсов занимает довольно много времени.

Как я создаю балансировщик нагрузки на aws, указывающий на мой экземпляр с помощью wss://. Не могли бы вы привести пример или инструкции?


person dknaack    schedule 10.02.2018    source источник
comment
Создайте балансировщик нагрузки приложения, свяжите сертификат со слушателем на порту 5000 (или, зачем все усложняйте? Используйте порт 443 ...) и настройте целевую группу, и все готово. Если это не сработает, вам необходимо просмотреть журналы балансировщика и приложения, выполнить базовое устранение неполадок на низком уровне и сообщить о своих наблюдениях.   -  person Michael - sqlbot    schedule 11.02.2018
comment
Имея эту проблему сейчас. вам удалось заставить его работать?   -  person Moisés    schedule 20.03.2018
comment
Имея точно такую ​​же проблему, нашли ли вы подходящую для этого конфигурацию ALB? Поделись, пожалуйста.   -  person MaxBlax360    schedule 05.09.2018


Ответы (1)


Решение опубликовано https://anandhub.wordpress.com/2016/10/06/websocket-ebs/, похоже, работает хорошо.

Вместо того, чтобы выбирать https и http, выберите «SSL» для порта 443 и «TCP» для порта вашего приложения (например, 5000).

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

Вам нужно будет загрузить свой ключ / сертификат через AWS, и балансировщик нагрузки будет обрабатывать безопасную часть. Я подозреваю, что этим методом нельзя воспользоваться «липкими» функциями LB.

person Friggles    schedule 17.09.2019