Nginx 프록시 서버를 사용하여 WebSocket 프로토콜 지원을 구현하는 방법은 무엇입니까?
Nginx 프록시 서버를 사용하여 WebSocket 프로토콜 지원을 구현하는 방법은 무엇입니까?
WebSocket은 TCP 기반의 전이중 통신 프로토콜로, 양측이 장기간 연결을 유지할 수 있는 통신 채널을 구축하여 서버와 클라이언트가 실시간으로 양방향 통신을 수행할 수 있도록 하는 데 적합합니다. 실시간 커뮤니케이션, 인스턴트 채팅, 실시간 데이터 푸시 등의 시나리오. WebSocket을 사용할 때 WebSocket 요청과 응답을 전달하도록 프록시 서버를 구성해야 하는 경우가 많습니다. 이 기사에서는 Nginx 프록시 서버를 사용하여 WebSocket 프로토콜에 대한 지원을 구현하는 방법을 소개합니다.
1단계: Nginx 설치
먼저 Nginx가 프록시 서버에 설치되어 있는지 확인해야 합니다. 설치되어 있지 않은 경우 운영 체제에 따라 적절한 설치 방법을 선택하십시오.
2단계: Nginx 구성 파일 수정
다음으로 Nginx 구성 파일을 수정해야 합니다. Nginx 구성 파일을 열고 http
블록에 다음 코드를 추가합니다. http
块中添加以下代码:
map $http_upgrade $connection_upgrade { default upgrade; '' close; } upstream backend { server 127.0.0.1:8080; }
上述代码中,map
指令用于将请求头中的Upgrade
字段的值映射为$connection_upgrade
变量的值。upstream
指令用于定义后端服务器的地址,这里使用的是本地地址127.0.0.1:8080
,你可以根据实际情况进行修改。
在server
块中添加以下代码:
location /websocket { proxy_pass http://backend; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; }
上述代码中,location
指令用于匹配WebSocket请求的路径。proxy_pass
指令用于将请求转发给后端服务器。proxy_http_version
指令用于指定代理协议的版本。proxy_set_header
指令用于设置请求头,将Upgrade
和Connection
sudo service nginx restart
map
지시문은 Upgrade<를 변경하는 데 사용됩니다. / 요청 헤더의 code> 필드 값은 <code>$connection_upgrade
변수 값에 매핑됩니다. upstream
지시문은 백엔드 서버의 주소를 정의하는 데 사용됩니다. 여기서는 로컬 주소 127.0.0.1:8080
을 사용하여 실제 상황에 따라 수정할 수 있습니다. server
블록에 다음 코드를 추가하세요. var ws = new WebSocket("ws://your_domain/websocket"); ws.onopen = function() { console.log("Connected to WebSocket"); }; ws.onmessage = function(event) { console.log("Received message: " + event.data); }; ws.onclose = function() { console.log("Disconnected from WebSocket"); };
location
지시문은 WebSocket 요청의 경로를 일치시키는 데 사용됩니다. proxy_pass
지시문은 요청을 백엔드 서버로 전달하는 데 사용됩니다. proxy_http_version
지시어는 프록시 프로토콜의 버전을 지정하는 데 사용됩니다. proxy_set_header
지시문은 요청 헤더를 설정하고 Upgrade
및 Connection
필드를 그대로 백엔드 서버에 전달하는 데 사용됩니다. 3단계: Nginx 서비스 다시 시작구성 파일 수정을 완료한 후 파일을 저장하고 닫습니다. 그런 다음 구성을 적용하려면 Nginx 서비스를 다시 시작하세요. 명령줄에 다음 명령을 입력하세요. rrreee
4단계: WebSocket 연결 테스트이제 Nginx 구성이 완료되었습니다. 다음으로 WebSocket 클라이언트 도구를 사용하거나 간단한 웹 애플리케이션을 작성하여 WebSocket 연결을 테스트할 수 있습니다. 다음은 간단한 샘플 코드입니다. 🎜rrreee🎜 위 코드를 HTML 파일로 저장하고 브라우저에서 파일을 엽니다. 브라우저의 개발자 도구에 "Connected to WebSocket" 출력이 표시되면 WebSocket 연결이 성공한 것입니다. 🎜🎜요약: 위 단계를 통해 Nginx 프록시 서버를 사용하여 WebSocket 프로토콜에 대한 지원을 구현하는 데 성공했습니다. 이러한 방식으로 Nginx의 강력한 성능과 유연한 구성을 사용하여 보다 효율적이고 안정적인 WebSocket 통신을 달성할 수 있습니다. 그러나 Nginx 자체는 WebSocket 서버가 아니며 처리를 위해 WebSocket 연결을 백엔드 서버로 전달하는 프록시 서버로만 사용됩니다. 완전한 WebSocket 서버를 배포해야 하는 경우 다른 전용 WebSocket 서버 소프트웨어 사용을 고려할 수 있습니다. 🎜위 내용은 Nginx 프록시 서버를 사용하여 WebSocket 프로토콜 지원을 구현하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











클라우드 서버에서 nginx 도메인 이름을 구성하는 방법 : 클라우드 서버의 공개 IP 주소를 가리키는 레코드를 만듭니다. Nginx 구성 파일에 가상 호스트 블록을 추가하여 청취 포트, 도메인 이름 및 웹 사이트 루트 디렉토리를 지정합니다. Nginx를 다시 시작하여 변경 사항을 적용하십시오. 도메인 이름 테스트 구성에 액세스하십시오. 기타 참고 : HTTPS를 활성화하려면 SSL 인증서를 설치하고 방화벽에서 포트 80 트래픽을 허용하고 DNS 해상도가 적용되기를 기다립니다.

Nginx 서버를 시작하려면 다른 운영 체제에 따라 다른 단계가 필요합니다. Linux/Unix System : Nginx 패키지 설치 (예 : APT-Get 또는 Yum 사용). SystemCTL을 사용하여 nginx 서비스를 시작하십시오 (예 : Sudo SystemCtl start nginx). Windows 시스템 : Windows 바이너리 파일을 다운로드하여 설치합니다. nginx.exe 실행 파일을 사용하여 nginx를 시작하십시오 (예 : nginx.exe -c conf \ nginx.conf). 어떤 운영 체제를 사용하든 서버 IP에 액세스 할 수 있습니다.

nginx 버전을 쿼리 할 수있는 메소드는 다음과 같습니다. nginx -v 명령을 사용하십시오. nginx.conf 파일에서 버전 지시문을 봅니다. nginx 오류 페이지를 열고 페이지 제목을 봅니다.

nginx가 시작되었는지 확인하는 방법 : 1. 명령 줄을 사용하십시오 : SystemCTL 상태 nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. 포트 80이 열려 있는지 확인하십시오. 3. 시스템 로그에서 nginx 시작 메시지를 확인하십시오. 4. Nagios, Zabbix 및 Icinga와 같은 타사 도구를 사용하십시오.

단계를 따르면 Docker 컨테이너 이름을 쿼리 할 수 있습니다. 모든 컨테이너 (Docker PS)를 나열하십시오. 컨테이너 목록을 필터링합니다 (GREP 명령 사용). 컨테이너 이름 ( "이름"열에 위치)을 가져옵니다.

Nginx가 Apache를 실행하려면 다음을 수행해야합니다. 1. Nginx 및 Apache를 설치하십시오. 2. NGINX 에이전트를 구성합니다. 3. nginx와 apache를 시작하십시오. 4. 구성을 테스트하여 도메인 이름에 액세스 한 후 Apache 컨텐츠를 볼 수 있는지 확인하십시오. 또한 포트 번호 매칭, 가상 호스트 구성 및 SSL/TLS 설정과 같은 다른 문제에주의를 기울여야합니다.

Docker 이미지 생성 단계 : 빌드 지침이 포함 된 Dockerfile을 작성하십시오. Docker 빌드 명령을 사용하여 터미널에 이미지를 빌드하십시오. Docker 태그 명령을 사용하여 이미지를 태그하고 이름과 태그를 지정하십시오.

Docker Container Startup 단계 : 컨테이너 이미지를 당기기 : "Docker Pull [Mirror Name]"을 실행하십시오. 컨테이너 생성 : "docker"[옵션] [미러 이름] [명령 및 매개 변수]를 사용하십시오. 컨테이너를 시작하십시오 : "Docker start [컨테이너 이름 또는 ID]"를 실행하십시오. 컨테이너 상태 확인 : 컨테이너가 "Docker PS"로 실행 중인지 확인하십시오.
