실시간 통신을 달성하기 위한 Nginx 역방향 프록시 Websocket 구성 튜토리얼

WBOY
풀어 주다: 2023-07-04 08:19:36
원래의
1726명이 탐색했습니다.

실시간 통신을 달성하기 위한 Nginx 역방향 프록시 Websocket 구성 튜토리얼

Websocket은 실시간 통신을 달성할 수 있는 긴 연결 기반 프로토콜이며 Nginx 역방향 프록시 기능과 결합되어 Websocket 요청을 더 잘 관리하고 배포할 수 있습니다. 이 기사에서는 Websocket 실시간 통신을 구현하기 위해 Nginx 역방향 프록시를 구성하는 방법을 소개합니다.

  1. Nginx 설치 확인
    먼저 서버에 Nginx가 설치되어 있는지 확인하세요. 설치되지 않은 경우 다음 명령을 사용하여 설치할 수 있습니다.

    sudo apt-get update
    sudo apt-get install nginx
    로그인 후 복사
  2. Nginx 구성 파일 수정
    텍스트 편집기를 사용하여 일반적으로 /etc/nginx/nginx에 있는 Nginx 구성 파일을 엽니다. .conf 또는 /etc/nginx/conf.d/default.conf. 다음과 같이 수정하세요. /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf。按照下面的示例进行修改:

    server {
    listen 80;
    server_name yourdomain.com;
    
    location /websocket {
       proxy_pass http://backend;
       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "Upgrade";
    }
    }
    로그인 후 복사

    在上述配置中,我们定义了一个名为 websocket 的位置(location),并将请求代理到名为 backend 的后端服务器。注意 yourdomain.combackend 应该替换为你自己的域名和后端服务器地址。

此外,我们还设置了两个代理请求头 Upgrade 和 Connection,这是为了使 Nginx 能够正确处理 Websocket 连接。

  1. 重启 Nginx
    完成配置文件的修改后,保存并退出文本编辑器。然后使用以下命令重启 Nginx:

    sudo service nginx restart
    로그인 후 복사
  2. 测试Websocket连接
    现在你可以使用任何支持 Websocket 协议的客户端应用程序(如浏览器或终端工具)来测试你的 Websocket 服务器。假设你的域名是 yourdomain.com
    const socket = new WebSocket('ws://yourdomain.com/websocket');
    
    socket.onopen = () => {
       console.log('连接已建立');
    };
    
    socket.onmessage = (event) => {
       console.log('收到消息:', event.data);
    };
    
    socket.onclose = () => {
       console.log('连接已关闭');
    };
    
    socket.onerror = (error) => {
       console.error('发生错误:', error);
    };
    로그인 후 복사
  3. 위 구성에서는 websocket이라는 위치를 정의하고 요청을 backend 백엔드 서버라는 위치로 프록시합니다. yourdomain.combackend는 자신의 도메인 이름과 백엔드 서버 주소로 바꿔야 합니다.

또한 Nginx가 Websocket 연결을 올바르게 처리할 수 있도록 두 개의 프록시 요청 헤더인 업그레이드 및 연결도 설정했습니다.

    🎜Nginx를 다시 시작하세요🎜구성 파일 수정을 완료한 후 저장하고 텍스트 편집기를 종료하세요. 그런 다음 다음 명령을 사용하여 Nginx를 다시 시작하세요. 🎜rrreee🎜🎜 Test Websocket Connection🎜 이제 Websocket 프로토콜을 지원하는 모든 클라이언트 애플리케이션(예: 브라우저 또는 터미널 도구)을 사용하여 Websocket 서버를 테스트할 수 있습니다. 도메인 이름이 yourdomain.com이라고 가정하고 다음 코드를 사용하여 테스트하세요. 🎜🎜rrreee🎜위 코드를 브라우저의 개발자 도구 콘솔과 같은 JavaScript 지원 환경에 붙여넣거나 실행하세요. Node.js를 사용합니다. 연결 설정 로그가 보이면 Nginx 구성과 Websocket 서버가 제대로 작동하는 것입니다. 🎜🎜요약🎜Nginx 역방향 프록시 구성을 통해 웹소켓 요청을 백엔드 서버로 프록시하여 실시간 통신 기능을 구현할 수 있습니다. 이 문서에서는 Nginx를 구성한 다음 JavaScript 코드를 사용하여 Websocket 연결을 테스트하는 방법을 설명합니다. 이 글이 Nginx 역방향 프록시 Websocket을 이해하고 적용하는 데 도움이 되기를 바랍니다. 🎜

위 내용은 실시간 통신을 달성하기 위한 Nginx 역방향 프록시 Websocket 구성 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿