【配置】SwooleDistributed 3.X框架中利用Nginx对HTTP、Websocket协议进行反向代理
2018-08-02 09:03
441 查看
版权声明: https://blog.csdn.net/Abbotton/article/details/81352104
前言
SwooleDistributed 3.X可以同时支持HTTP、Websocket和TCP协议,在配置防火墙规则的情况下可以通过
IP:PORT的方式进行HTTP和Websocket的访问,但是这样在生产环境中是不安全的,而且相对来说
IP:PORT的访问方式并不友好,所以就要用到nginx的反向代理了,将80端口的请求反向代理到SwooleDistributed框架监听的端口。
具体配置
现在假设服务器上已经安装了nginx以及SwooleDistributed框架。核心的nginx配置如下:
.... # HTTP请求转发到SwooleDistributed监听的9092端口 location /{ proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:9092/; break; } # Websocket请求转发到SwooleDistributed监听的9093端口 location /ws{ proxy_pass http://127.0.0.1:9093; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # WebSocket 支持的核心配置 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $http_connection; # WebSocket超时设置(可选) proxy_connect_timeout 7d; proxy_send_timeout 7d; proxy_read_timeout 7d; proxy_redirect off; break; } ....
测试结果
我们可以通过浏览器的
console命令行进行测试,也可以使用在线的Websocket测试工具进行测试,这里推荐使用
EasySwoole出品的Websocket在线测试工具,点此打开。
效果如下:
相关文章推荐
- Nginx服务器安装,高性能的HTTP、TCP、反向代理、负载均衡等服务和配置
- Nginx -HTTP和反向代理服务器简单配置
- Nginx 的使用配置并利用nginx 反向代理解决跨域问题
- Nginx反向代理Tomcat实现现负载均衡(高可用)以及利用redis+Session同步会话共享配置详解
- nginx安装与http反向代理基本配置
- nginx教程第八篇:用HTTP proxy module配置一个反向代理服务器
- Nginx实战之反向代理WebSocket的配置实例
- 利用 Nginx 进行反向代理和负载均衡
- Nginx 配置反向代理使用 Google fonts 字体并开启 HTTP2/SSL 支持
- Nginx实战之反向代理WebSocket的配置实例
- Tomcat捕获Nginx反向代理协议IP及端口配置
- Nginx 反向代理 websocket 协议
- nginx 反向代理http和https配置
- nginx可以很方便的配置成反向代理服务器
- 【iOS开发-26】利用协议代理实现导航控制器UINavigationController视图之间的正向传值和反向传值
- nginx 简单反向代理服务配置
- Nginx反向代理的配置
- 配置nginx反向代理时,要注意的权限设置
- 全面了解Nginx中的HTTP协议相关模块配置
- 使用nginx反向代理到不同服务器(共享同一端口)配置文件