실시간 통신을 달성하기 위한 Nginx 역방향 프록시 Websocket 구성 튜토리얼
Websocket은 실시간 통신을 달성할 수 있는 긴 연결 기반 프로토콜이며 Nginx 역방향 프록시 기능과 결합되어 Websocket 요청을 더 잘 관리하고 배포할 수 있습니다. 이 기사에서는 Websocket 실시간 통신을 구현하기 위해 Nginx 역방향 프록시를 구성하는 방법을 소개합니다.
Nginx 설치 확인
먼저 서버에 Nginx가 설치되어 있는지 확인하세요. 설치되지 않은 경우 다음 명령을 사용하여 설치할 수 있습니다.
sudo apt-get update sudo apt-get install nginx
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.com
和 backend
应该替换为你自己的域名和后端服务器地址。
此外,我们还设置了两个代理请求头 Upgrade 和 Connection,这是为了使 Nginx 能够正确处理 Websocket 连接。
重启 Nginx
完成配置文件的修改后,保存并退出文本编辑器。然后使用以下命令重启 Nginx:
sudo service nginx restart
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); };
websocket
이라는 위치를 정의하고 요청을 backend
백엔드 서버라는 위치로 프록시합니다. yourdomain.com
및 backend
는 자신의 도메인 이름과 백엔드 서버 주소로 바꿔야 합니다. 또한 Nginx가 Websocket 연결을 올바르게 처리할 수 있도록 두 개의 프록시 요청 헤더인 업그레이드 및 연결도 설정했습니다.
yourdomain.com
이라고 가정하고 다음 코드를 사용하여 테스트하세요. 🎜🎜rrreee🎜위 코드를 브라우저의 개발자 도구 콘솔과 같은 JavaScript 지원 환경에 붙여넣거나 실행하세요. Node.js를 사용합니다. 연결 설정 로그가 보이면 Nginx 구성과 Websocket 서버가 제대로 작동하는 것입니다. 🎜🎜요약🎜Nginx 역방향 프록시 구성을 통해 웹소켓 요청을 백엔드 서버로 프록시하여 실시간 통신 기능을 구현할 수 있습니다. 이 문서에서는 Nginx를 구성한 다음 JavaScript 코드를 사용하여 Websocket 연결을 테스트하는 방법을 설명합니다. 이 글이 Nginx 역방향 프록시 Websocket을 이해하고 적용하는 데 도움이 되기를 바랍니다. 🎜위 내용은 실시간 통신을 달성하기 위한 Nginx 역방향 프록시 Websocket 구성 튜토리얼의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!