У меня есть сервер веб-сокетов node.js, работающий на экземпляре EC2 на порту 8080. Обычные соединения с веб-сокетами (ws://
) работают нормально, но когда я пытаюсь установить безопасное соединение (всс://
), соединение через веб-сокет завершается сбоем.
Я понимаю, что запросы wss отправляются на порт 443, поэтому я использую ALB для пересылки запросов с порта 443 на порт 8080. Поскольку я очень новичок в AWS, я не знаю, правильно ли я это делаю. Вот что я сделал.
- Сервер Node.js прослушивает порт 8080 в экземпляре EC2.
- Это входящие правила безопасности для этого экземпляра EC2.
Правила безопасности входящего трафика
- Балансировщик нагрузки приложения с прослушивателем
HTTPS: 443
Он перенаправляет его на мой экземпляр EC2 через порт 8080 по протоколу HTTPS. Я также прикрепил SSL-сертификат к ALB.
Я просто не могу понять, что я делаю неправильно. Любая помощь приветствуется.
ОБНОВИТЬ:
- Я создал две группы безопасности (ec2-sg и alb-sg) и настроил их так, чтобы ec2-sg получал трафик от alb-sg.
Правила безопасности для входящего трафика (alb-sg)
Правило безопасности исходящего трафика (alb-sg)
Правила безопасности для входящего трафика (ec2-sg)
Однако я не могу заставить его работать. Целевая группа проходит проверку работоспособности, я включил липкую сессию, но подключение через веб-сокет продолжает давать сбой.
Обычное соединение ws, которое раньше работало, также перестало работать. Это наводит меня на мысль, что я что-то напутал с ALB (поскольку он работает без балансировщика нагрузки).
Обновление 2:
Я включил журналы доступа для своего балансировщика нагрузки. Вот журнал:
https 2021-10-08T08:55:39.157549Z приложение/alb-latest/3e73469ba9514449 167.94.138.60:32854 172.31.93.226:8080 -1 -1 -1 502 - 41 1215
"GET https://3.208.76.74:443/ HTTP/1.1" "-" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 arn:aws:elasticloadbalancing:us-east-1:144045735746:targetgroup/ec2-8080 -сервер/2cbf4f7eb51c201e
"Root=1-6160078b-606aed86364c5e3f7db627f1" "-" "arn:aws:acm:us-east-1:144045735746:certificate/53a04011-1ea7-4689-b6c6-a7372e42191d" 0 2021-10:5163T009.Z:5163T09.
"вперед" "-" "-" "172.31.93.226:8080" "-" "-" "-"
ALB Базовая конфигурация 1
ALB Базовая конфигурация 2
Слушатели ALB
Я также включил привязку на уровне группы к целевой группе на 1 день.
Сведения о целевой группе