首页 > 系统相关 >Nginx实现websocket代理的方式

Nginx实现websocket代理的方式

时间:2022-12-27 19:36:02浏览次数:39  
标签:websocket 代理 server Nginx proxy 9000 test http com


一个简单的实现,后续再补充。其中80端口是提供正常web访问的端口,9000是提供socket服务的端口。实际部署时出于安全考虑,可以将代理端口与后端服务器提供的端口设置为不同的值。 
基于此配置也可以方便地配置负载均衡。

upstream test.com {
server 192.168.56.108:80;
server 192.168.56.109:80;
keepalive 2000;
}

upstream socket.test.com {
hash $remote_addr consistent;
server 192.168.56.108:9000;
server 192.168.56.109:9000;
}
server {
listen 80;
server_name test.com;

location / {
proxy_pass http://test.com/;
proxy_set_header Host $host:$server_port;
}
}

server {
listen 9000;
server_name test.com:9000;

location / {
proxy_pass http://socket.test.com/;
proxy_set_header Host $host:$server_port;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}

设置http的负载均衡比较简单,要设置websocket的负载均衡,需要在编译nginx的时候加一个参数:

--with-stream


而且此参数仅支持1.9.0以上的nginx。

标签:websocket,代理,server,Nginx,proxy,9000,test,http,com
From: https://blog.51cto.com/u_4176761/5973424

相关文章

  • Nginx使用总结解决:NET::ERR_INCOMPLETE_CHUNKED_ENCODING 200 (OK)
     如何控制CDN文件在浏览器的缓存时间?腾讯云CDN默认支持 源站的Cache-Control设置 。目前暂不支持配置Cache-Control头部,因此无法在CDN节点上配置max-age,但CDN节点会......
  • SecureCRT 设置代理服务器
    SecureCRT的proxy的网络代理,可以跳出局域网,具体步骤如下:1.打开SecureCRT的软件界面,点击Options-->GlobalOptions-->Firewall-->Add,如下图所示。支持多种类型的代理,包括......
  • LNMP架构环境之Nginx项目1:搭建游戏网站
    1)配置站点目录cd/usr/share/nginx/rm-frhtml/通过SCP工具将gamme.zip上传到/usr/share/nginx/html/目录下#上传游戏程序unzipgame.zipcd /usr/share/nginx/sbin/2)......
  • websocket-sharp 实现websocket
    第一步,使用VS创建一个应用程序第二步,添加引用 websocket-sharpDLL文件,或者NuGet程序包中添加第三部,创建Laputa类usingWebSocketSharp;usingWebSocketSharp.Serve......
  • Vue技术6.2何为数据代理
    <!DOCTYPEhtml>><html><head><matacharset="UTF-8"/><title>何为数据代理</title></head><body><!--数据代理:通过一个对象代理对......
  • WebSocket
    互联网发展到现在,早已超越了原始的初衷,人类从来没有像现在这样依赖过他;也正是这种依赖,促进了互联网技术的飞速发展。而终端设备的创新与发展,更加速了互联网的进化;HTTP/1.1规......
  • Linux环境下docker安装nginx及其配置
    安装一、获取镜像在线安装直接执行命令:dockerpullnginx:1.22.1需要指定版本,可以进入官网https://hub.docker.com/,搜索nginx查看仓库中的版本离线安装本地pull下......
  • K8S四层代理Service
    百度网盘链接:https://pan.baidu.com/s/15t_TSH5RRpCFXV-93JHpNw?pwd=8od3 提取码:8od311K8S四层代理Service11.1四层负载均衡Service11.1.1为什么要有Service?在kube......
  • 用户代理
    用户代理(UserAgent,简称UA)意义:一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件......
  • 记一次kubernetes测试环境搭建(heapster,helm,nginx-ingress-controller,glusterfs heketi
    课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。详细介绍helm命令,学习helmchart语法,......