Nginx 구성 WSS

2784 단어

인용문

WebSocket에 대해 위키백과는 다음과 같이 소개한다.
이전에 많은 사이트들이 실시간 전송 기술을 실현하기 위해 사용한 기술은 모두 윤문이었다.폴링은 특정 시간 간격(예를 들어 1초당)에 브라우저가 서버에 HTTP 요청을 하고 서버에서 클라이언트에게 최신 데이터를 되돌려줍니다.이러한 전통적인 모델이 가져온 단점은 매우 뚜렷하다. 즉, 브라우저는 끊임없이 서버에 요청을 해야 하지만 HTTP 요청은 비교적 많은 요청 헤더 정보를 포함하고 그 중에서 진정으로 효과적인 데이터는 아주 작은 일부분에 불과하기 때문에 분명히 이렇게 하면 많은 대역폭 등 자원을 낭비할 수 있다.이러한 상황에서 HTML5는 WebSocket 프로토콜을 정의하여 서버 자원과 대역폭을 더욱 절약하고 더욱 실시간으로 통신할 수 있도록 한다.WebSocket는 단일TCP 연결에서 전이중 통신을 하는 프로토콜로 클라이언트와 서버 간의 데이터 교환을 더욱 간단하게 하고 서비스 측이 클라이언트에게 주동적으로 데이터를 전송할 수 있도록 한다.WebSocket API에서 브라우저와 서버는 악수를 한 번만 하면 지속적인 연결을 만들고 양방향 데이터 전송을 할 수 있다.WebSocket 협의는 2008년에 탄생했고 2011년에 국제 표준이 되었고 현재 거의 모든 브라우저가 지원되고 있다.그것의 가장 큰 특징은 서버가 클라이언트에게 주동적으로 정보를 전송할 수 있고 클라이언트도 주동적으로 서버에 정보를 전송할 수 있다는 것이다. 이것은 진정한 쌍방향 평등 대화로 서버 전송 기술의 하나에 속한다.

WebSocket


간단하게 말하면 WebSocket 클라이언트와 서버 측이 연결하는 횟수를 줄이고 서버 자원의 비용을 줄이며 악수를 한 번만 하면 된다.전체 통신 과정은 한 번의 연결/상태에서 구축된 것이기 때문에 HTTP의 비상태성을 피할 수 있다. 서비스 측은 쌍방이 종료 요청을 할 때까지 클라이언트와 연결을 유지하고 원래의 클라이언트가 자발적으로 문의하여 서버에 정보가 있을 때 전송한다.따라서 실시간 통신(채팅방, 생방송 등)을 할 수 있고 다른 특징은 다음과 같다.
  • HTTP 프로토콜 위에 구축되어 서버 측의 실현이 비교적 쉽다
  • TCP 협의는 좋은 호환성을 가지고 있다.기본 포트도 HTTP80, 그리고 악수 단계에서 443 프로토콜을 사용하기 때문에 악수를 할 때 차단하기가 쉽지 않고 각종 HTTP 프록시 서버를 통해
  • 데이터 형식이 비교적 가볍고 성능 비용이 적으며 통신 효율
  • 텍스트를 보내거나 바이너리 데이터를 보내거나
  • 소스 제한 없이 클라이언트가 서버와 통신할 수 있음
  • 프로토콜 식별자HTTP(암호화된 경우 ws, 서버 사이트 주소 wss
  • wss


    장애 1:
    현상 설명: URL 프로토콜에서 웹 사이트를 방문할 때 클라이언트 브라우저 제어판 이상 정보:
    Mixed Content: The page at 'https://{ + }' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws://{ + }'. This request has been blocked; this endpoint must be available over WSS.
    

    이 경우 우리는 https 보안 프로토콜을 사용해야 한다. 클라이언트 브라우저가 가져온 페이지wss://의 형식을 webscoket에서 ws://로 바꾸어야 한다.wss:// 또는 WebSocket 를 사용하여 ws 또는 wss 와 유사한 통일 자원 표지자로 사용할 수 있습니다.그 중에서 HTTPHTTPS 위에 있는 wss 을 나타내고 TLS 에 해당한다.기본적으로 WebSocketHTTPS 프로토콜은 WebSocket 80포트를 기반으로 합니다.ws 위에서 실행될 때 Http 프로토콜은 기본적으로 TLS 기반의 443 포트입니다.말하자면 wssHttpwss의 안전 전송을 바탕으로 ws과 같은 이치이다.따라서 만약에 당신의 사이트가 SSL 프로토콜이라면 HTTPS 을 사용할 수 없습니다. 브라우저는 HTTPS 연결이 끊어지고 ws:// 아래에서 허용되지 않는 block 요청과 같습니다.

    좋은 웹페이지 즐겨찾기