Am un server websocket node.js care rulează pe o instanță EC2 pe portul 8080. Conexiuni websocket normale (ws://
) funcționează bine, dar când încerc să fac o conexiune sigură (wss://
), conexiunea websocket eșuează.
Îmi dau seama că cererile wss sunt trimise la portul 443, așa că folosesc ALB pentru a redirecționa cererile de pe portul 443 la portul 8080. Deoarece sunt foarte nou în AWS, nu știu dacă fac acest lucru corect. Iată ce am făcut.
- Serverul Node.js ascultă pe portul 8080 într-o instanță EC2.
- Acestea sunt regulile de securitate de intrare către acea instanță EC2
Reguli de securitate de intrare
- Un echilibrator de încărcare a aplicației cu ascultător
HTTPS: 443
Îl trimite către instanța mea EC2 de pe portul 8080 folosind protocolul HTTPS. De asemenea, am atașat un certificat SSL la ALB.
Pur și simplu nu pot să-mi dau seama ce greșesc. Orice ajutor este apreciat.
ACTUALIZAȚI:
- Am creat două grupuri de securitate (ec2-sg și alb-sg) și le-am configurat astfel încât ec2-sg să primească trafic de la alb-sg.
Reguli de securitate de intrare (alb-sg)
Regula de securitate la ieșire (alb-sg)
Reguli de securitate de intrare (ec2-sg)
Cu toate acestea, nu o pot face să funcționeze. Grupul țintă trece verificarea de sănătate, am activat sesiunea sticky, dar conexiunea websocket continuă să eșueze.
Conexiunea ws normală care funcționa înainte a încetat să funcționeze. Acest lucru mă face să cred că greșesc ceva cu ALB (din moment ce funcționează fără echilibrul de încărcare)
Actualizare 2:
Am activat jurnalele de acces pentru echilibrul meu de încărcare. Iată jurnalul:
https 2021-10-08T08:55:39.157549Z app/alb-latest/3e73469ba9514449 167.94.138.60:32854 172.31.93.226:8080 -1 -1 -2 -1 -1 4
„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-808 -server/2cbf4f7eb51c201e
"Root=1-6160078b-606aed86364c5e3f7db627f1" "-" "arn:aws:acm:us-east-1:144045735746:certificate/53a04011-1ea7-4689-4689-4689-4689-4689-4689-4689-4689-4689-4689-4689-4689-170045735746:certificat
"înainte" "-" "-" "172.31.93.226:8080" "-" "-" "-"
ALB Configurație de bază 1
ALB Configurație de bază 2
ALB Ascultători
De asemenea, am activat adezivitatea la nivel de grup pe grupul țintă timp de 1 zi
Detalii grup țintă