Nginx 역방향 에이전트 웹 소켓
웹 소켓 프로 토 콜 은 클 라 이언 트 와 서버 가 서로 통신 할 수 있 는 방식 을 제공 합 니 다. 현대 의 많은 브 라 우 저 는 웹 소켓 을 지원 하고 백 엔 드 의 많은 개발 프레임 워 크 도 대부분 웹 소켓 을 지원 합 니 다.생산 환경 에 서 는 Nginx 를 역방향 대리 로 자주 사용 해 야 하 며, 때로는 백 엔 드 의 Websocket 서 비 스 를 대리 해 야 한다.우 리 는 Nginx 를 설정 해야만 백 엔 드 의 Websocket 을 지원 할 수 있 습 니 다.
구체 적 배치
1. 직접 설정
location /chat/ {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
2, 더 안정 적 인 설정
http {
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
...
location /chat/ {
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}
}
기본적으로 60s 내 에 프 록 시 서버 가 데 이 터 를 보 내지 않 으 면 연결 이 닫 힙 니 다.우 리 는 proxy 를 설정 할 수 있다.read_timeout 명령 으로 조정 합 니 다.
작은 매듭
얼마 전 Websocket 을 사용 할 때 백 엔 드 에서 사용 하 는 Spring Boot 는 로 컬 개발 에 아무런 오류 가 없 으 며 생산 환경 에 서 는 Nginx 를 역방향 대리 로 사용 하여 지원 되 지 않 는 Websocket 버 전 을 알려 줍 니 다.Nginx 설정 의 문제 일 것 이 라 고 추측 하고 해결 방안 을 기록 합 니 다.
레 퍼 런 스
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.