developer tip

SSL을 사용하는 html5 Websocket

optionbox 2020. 8. 7. 08:20
반응형

SSL을 사용하는 html5 Websocket


https로 WebSocket을 사용할 수 있습니까? https로 전환하면 내 WebSocket이 보안 오류를 반환하고 일반 http와 완벽하게 작동합니다.

socket = new WebSocket("ws://my_www:1235"); 

감사합니다


WebSocket 연결은 HTTP 또는 HTTPS 핸드 셰이크로 시작됩니다. HTTP를 통해 페이지에 액세스하는 경우 WS 또는 WSS (WebSocket 보안 : WS over TLS)를 사용할 수 있습니다. 그러나 페이지가 HTTPS를 통해로드되면 WSS 만 사용할 수 있습니다. 브라우저는 보안을 "다운 그레이드"할 수 없습니다.


HTTPS를 통해 WebSocket을 사용할 수 없지만 TLS를 통해 WebSocket을 사용할 수 있습니다 (HTTPS는 TLS를 통한 HTTP입니다). URI에서 "wss : //"를 사용하십시오.

최신 버전의 Firefox는 HTTPS 페이지에서 TLS가 아닌 WebSocket을 사용하도록 허용하지 않지만 그 반대는 문제가되지 않습니다.


1 추가주의 사항 (kanaka / peter의 답변 외에) : WSS를 사용하고 서버 인증서가 브라우저에서 허용되지 않는 경우 브라우저 렌더링 대화 상자 가 표시되지 않을 수 있습니다 (웹 페이지에서 발생하는 것과 같은). 이는 WebSocket이 소위 "하위 리소스"로 취급되고 인증서 수락 / 보안 예외 / 하위 리소스에 대해 렌더링되지 않는 대화 상자가 있기 때문입니다.

참고 URL : https://stackoverflow.com/questions/9745249/html5-websocket-with-ssl

반응형