ELS를 통해 Amazon AWS EC2 인스턴스의 GlassFish가 제공하는 websocket에 ssl을 통해 어떻게 연결할 수 있습니까?WebSockets : ELB를 통해 클라이언트에서 Amazon AWS EC2 인스턴스로의 전환
저는 webSocket 구현으로 GlassFish 4.1 b13 시험판에서 Tyrus 1.8.1을 사용하고 있습니다.
포트 8080은 보안되지 않으며 포트 8181은 SSL로 보호됩니다.
- ELB DNS 이름 : elb.xyz.com
- EC2 DNS 이름 : ec2.xyz.com
- 웹 소켓 경로 : 나는 모두를 성공적으로 WS &을 사용했다
/웹/소켓 wss : 내 ELB를 거치지 않고 직접 EC2 인스턴스에 연결합니다. 즉, 다음과 같은 URL을 모두 작동 :
- WS를 : //ec2.xyz.com : 8080/웹/소켓
- WSS : //ec2.xyz.com : 8181/웹/소켓
tcp 80> tcp 8080 수신기를 사용하여 내 ELB에서 ws (non-ssl)를 성공적으로 사용했습니다. 즉, 다음과 같은 URL이 작동합니다
- WS : //elb.xyz.com : 80/웹/소켓 I는, 그러나, 비록 WSS 사용하는 방법을 찾을 수 없어
을 내 ELB.
나는 많은 것을 시도했다.
- WSS :
나는 나의 ELB를 통해 작동하도록 WSS를 얻을 수있는 가능성이 가장 높은 방법은 다음 URL을 활성화 프록시 프로토콜 내 ELB에 TCP 8181> TCP 8181 리스너를 생성하고 사용하는 것입니다 가정 : //elb.xyz.com : 8181/web/socket
불행히도, 작동하지 않습니다. 글래스 피쉬에서 프록시 프로토콜을 사용해야 할 수도 있지만, 그렇게 할 수있는 방법을 찾지 못했습니다 (또는 가능한 경우 또는 내 ELB에서 작동하도록 wss에 필요한 경우).
또 다른 옵션은 ssl> tcp 8080 수신기를 사용하여 ELB에서 종료 된 ssl 연결을 통해 ws 또는 wss를 실행하고 glassfish에 보안을 유지하지 않을 수 있습니다. 그건 나에게도 도움이되지 못했지만 어쩌면 설정이 잘못되었을 수도 있습니다.
누구나 내 앞에서 설명한 두 가지 시도를 수정 한 사람이 있습니까? 아니면 다른 제안이 있습니까?
감사합니다.
나는 "HTTPS와 반대되는 것"을 의미했습니다. – guillaumepiot
고맙습니다. HTTPS 대신 안전한 TCP가 트릭을했습니다! –
"SSL (보안 TCP) 443 TCP 80"도 작동합니다. –