Nginx 구성 WSS
인용문
WebSocket
에 대해 위키백과는 다음과 같이 소개한다.이전에 많은 사이트들이 실시간 전송 기술을 실현하기 위해 사용한 기술은 모두 윤문이었다.폴링은 특정 시간 간격(예를 들어 1초당)에 브라우저가 서버에
HTTP
요청을 하고 서버에서 클라이언트에게 최신 데이터를 되돌려줍니다.이러한 전통적인 모델이 가져온 단점은 매우 뚜렷하다. 즉, 브라우저는 끊임없이 서버에 요청을 해야 하지만 HTTP 요청은 비교적 많은 요청 헤더 정보를 포함하고 그 중에서 진정으로 효과적인 데이터는 아주 작은 일부분에 불과하기 때문에 분명히 이렇게 하면 많은 대역폭 등 자원을 낭비할 수 있다.이러한 상황에서 HTML5는 WebSocket
프로토콜을 정의하여 서버 자원과 대역폭을 더욱 절약하고 더욱 실시간으로 통신할 수 있도록 한다.WebSocket
는 단일TCP
연결에서 전이중 통신을 하는 프로토콜로 클라이언트와 서버 간의 데이터 교환을 더욱 간단하게 하고 서비스 측이 클라이언트에게 주동적으로 데이터를 전송할 수 있도록 한다.WebSocket API
에서 브라우저와 서버는 악수를 한 번만 하면 지속적인 연결을 만들고 양방향 데이터 전송을 할 수 있다.WebSocket
협의는 2008년에 탄생했고 2011년에 국제 표준이 되었고 현재 거의 모든 브라우저가 지원되고 있다.그것의 가장 큰 특징은 서버가 클라이언트에게 주동적으로 정보를 전송할 수 있고 클라이언트도 주동적으로 서버에 정보를 전송할 수 있다는 것이다. 이것은 진정한 쌍방향 평등 대화로 서버 전송 기술의 하나에 속한다.WebSocket
간단하게 말하면
WebSocket
클라이언트와 서버 측이 연결하는 횟수를 줄이고 서버 자원의 비용을 줄이며 악수를 한 번만 하면 된다.전체 통신 과정은 한 번의 연결/상태에서 구축된 것이기 때문에 HTTP
의 비상태성을 피할 수 있다. 서비스 측은 쌍방이 종료 요청을 할 때까지 클라이언트와 연결을 유지하고 원래의 클라이언트가 자발적으로 문의하여 서버에 정보가 있을 때 전송한다.따라서 실시간 통신(채팅방, 생방송 등)을 할 수 있고 다른 특징은 다음과 같다.HTTP
프로토콜 위에 구축되어 서버 측의 실현이 비교적 쉽다TCP
협의는 좋은 호환성을 가지고 있다.기본 포트도 HTTP
및 80
, 그리고 악수 단계에서 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
와 유사한 통일 자원 표지자로 사용할 수 있습니다.그 중에서 HTTP
은 HTTPS
위에 있는 wss
을 나타내고 TLS
에 해당한다.기본적으로 WebSocket
의HTTPS
프로토콜은 WebSocket
80포트를 기반으로 합니다.ws
위에서 실행될 때 Http
프로토콜은 기본적으로 TLS
기반의 443 포트입니다.말하자면 wss
은Http
wss
의 안전 전송을 바탕으로 ws
과 같은 이치이다.따라서 만약에 당신의 사이트가 SSL
프로토콜이라면 HTTPS
을 사용할 수 없습니다. 브라우저는 HTTPS
연결이 끊어지고 ws://
아래에서 허용되지 않는 block
요청과 같습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.