Nginx 프록시 관리자를 사용하여 웹소켓 프록시를 구현하는 방법
웹소켓은 양방향 통신이 필요한 애플리케이션에 적합한 실시간 통신 프로토콜입니다. Nginx 프록시 관리자(줄여서 NPM)는 여러 역방향 프록시 리소스를 관리하고 구성하는 데 사용할 수 있는 Nginx 기반 프록시 서버입니다. 이 기사에서는 NPM을 사용하여 웹소켓 프록시를 구현하는 방법을 소개하고 특정 코드 예제를 제공합니다.
먼저 NPM을 설치해야 합니다. Ubuntu 시스템에서는 다음 명령을 사용하여 설치할 수 있습니다:
sudo apt-get update sudo apt-get install npm
NPM을 설치한 후 몇 가지 구성을 수행해야 합니다. 먼저 NPM 설치 디렉터리(일반적으로 /usr/share/nginx/html
)를 입력한 다음 config.json
이라는 파일을 만들어 프록시 서버를 구성합니다. /usr/share/nginx/html
,然后创建一个名为 config.json
的文件,用来配置代理服务器。
在 config.json
文件中,我们可以配置多个代理服务器。在这个例子中,我们配置一个名为 websocket
的代理服务器,将所有接收到的Websockets请求代理到指定的目标服务器。
下面是一个配置的例子:
{ "proxies": { "websocket": { "name": "Websockets Proxy", "ssl": false, "host": "ws://localhost:8000", "port": 80, "path": "/websocket", "proxyType": "websocket" } } }
上述配置中,我们指定了代理服务器的名称、是否使用SSL、目标服务器的主机和端口、URL路径以及代理类型。
配置完成后,我们就可以启动NPM了。在终端中进入NPM的安装目录,然后运行如下命令:
sudo npm start
此时,NPM会监听在默认的80端口上,开始代理请求。
现在我们已经完成了NPM的配置和启动,接下来测试一下我们的Websockets代理是否正常工作。
首先,准备一个简单的Websockets服务器,可以使用Node.js进行搭建。下面是一个示例代码:
const WebSocket = require('ws'); const wss = new WebSocket.Server({ port: 8000 }); wss.on('connection', ws => { ws.on('message', message => { console.log(`Received message: ${message}`); ws.send(`Echo: ${message}`); }); ws.send('Connected to server.'); });
在终端中运行上述代码,启动Websockets服务器。
接下来,在浏览器中访问NPM的管理界面,通常是 http://localhost
。在界面上,点击 Add Proxy Host
按钮,填写如下信息:
点击 Save
按钮保存配置。
现在,我们可以使用任意支持Websockets的客户端连接到 ws://localhost/websocket
config.json
파일에서 여러 프록시 서버를 구성할 수 있습니다. 이 예에서는 수신된 모든 Websocket 요청을 지정된 대상 서버로 프록시하도록 websocket
이라는 프록시 서버를 구성합니다. 다음은 구성 예입니다. rrreee
위 구성에서는 프록시 서버 이름, SSL 사용 여부, 대상 서버의 호스트 및 포트, URL 경로 및 프록시 유형을 지정합니다. .http://localhost
)에서 NPM의 관리 인터페이스에 액세스하세요. 인터페이스에서 프록시 호스트 추가
버튼을 클릭하고 다음 정보를 입력합니다. 🎜저장
버튼을 클릭하세요. 🎜🎜이제 웹소켓을 지원하는 모든 클라이언트를 사용하여 ws://localhost/websocket
에 연결하고 메시지를 보내고 서버로부터 응답을 받을 수 있습니다. 🎜🎜NPM 프록시 서버를 통해 웹소켓의 프록시 기능을 성공적으로 구현했습니다. 🎜🎜요약🎜🎜이 글에서는 Nginx Proxy Manager를 사용하여 웹소켓의 프록시 기능을 구현하는 방법을 소개합니다. NPM을 구성하고 특정 코드 예제를 사용하여 웹소켓 요청을 프록시할 수 있는 프록시 서버를 성공적으로 구축했습니다. 이 기사가 NPM과 웹소켓 프록시를 이해하고 사용하는 데 도움이 되기를 바랍니다. 🎜위 내용은 Nginx 프록시 관리자를 사용하여 웹소켓 프록시를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!