Tôi có một máy chủ websocket node.js chạy trên phiên bản EC2 trên cổng 8080. Các kết nối websocket bình thường (ws: //
) hoạt động tốt nhưng khi tôi đang cố tạo kết nối an toàn (wss: //
), kết nối websocket không thành công.
Tôi nhận thấy rằng các yêu cầu wss được gửi tới cổng 443, vì vậy tôi đang sử dụng ALB để chuyển tiếp các yêu cầu trên cổng 443 tới cổng 8080. Vì tôi mới sử dụng AWS nên tôi không biết liệu mình có đang thực hiện đúng cách hay không. Đây là những gì tôi đã làm.
- Máy chủ Node.js lắng nghe trên cổng 8080 trong phiên bản EC2.
- Đây là các quy tắc bảo mật gửi đến cho phiên bản EC2 đó
Quy tắc bảo mật đầu vào
- Một bộ cân bằng tải ứng dụng với người nghe
HTTPS: 443
Nó chuyển tiếp nó tới phiên bản EC2 của tôi trên cổng 8080 bằng giao thức HTTPS. Tôi cũng đã đính kèm chứng chỉ SSL cho ALB.
Tôi chỉ không thể tìm ra những gì tôi đang làm sai. Bất kỳ trợ giúp được đánh giá cao.
CẬP NHẬT:
- Tôi đã tạo hai nhóm bảo mật (ec2-sg và alb-sg) và định cấu hình chúng sao cho ec2-sg nhận lưu lượng truy cập từ alb-sg.
Quy tắc bảo mật trong nước (alb-sg)
Quy tắc bảo mật gửi đi (alb-sg)
Quy tắc bảo mật trong nước (ec2-sg)
Tuy nhiên, tôi không thể làm cho nó hoạt động. Nhóm mục tiêu vượt qua kiểm tra sức khỏe, tôi đã bật phiên cố định nhưng kết nối websocket vẫn không thành công.
Kết nối ws bình thường từng hoạt động cũng đã ngừng hoạt động. Điều này khiến tôi tin rằng tôi đang làm rối tung thứ gì đó với ALB (vì nó đang hoạt động mà không có bộ cân bằng tải)
Cập nhật 2:
Tôi đã bật nhật ký truy cập cho bộ cân bằng tải của mình. Đây là nhật ký:
https 2021-10-08T08:55:39.157549Z app/alb-latest/3e73469ba9514449 167.94.138.60:32854 172.31.93.226:8080 -1 -1 -1 502 - 41 1215
"NHẬN 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 -máy chủ/2cbf4f7eb51c201e
"Root=1-6160078b-606aed86364c5e3f7db627f1" "-" "arn:aws:acm:us-east-1:144045735746:certificate/53a04011-1ea7-4689-b6c6-a7372e42191d" 0 2021-10-10-1ea7-4689-b6c6-a7372e42191d" 0 2021-10-10-1ea7-4689-b6c6-a7372e42191d" 0 2021-10-10-1ea7-4689-b6c6-a7372e42191d" 0 2021-10-10-1ea7-4689-b6c6-a7372e42191d"
"chuyển tiếp" "-" "-" "172.31.93.226:8080" "-" "-" "-"
ALB Cấu hình cơ bản 1
ALB Cấu hình cơ bản 2
Người nghe ALB
Tôi cũng đã kích hoạt tính năng gắn bó ở cấp độ nhóm trên nhóm mục tiêu trong 1 ngày
Chi tiết nhóm mục tiêu