Nginx实现websocket代理的方式

简介: Nginx实现websocket代理的方式

一个简单的实现,后续再补充。其中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

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

目录
相关文章
|
8月前
|
缓存 JavaScript 应用服务中间件
Nginx+Tomcat代理环境下JS无法完全加载问题
Nginx+Tomcat代理环境下JS无法完全加载问题
|
18天前
|
前端开发 应用服务中间件 nginx
网页设计,若依项目修改(It must be done)01----若依打包位置,nginx代理前端静态资源和后端接口,就是怎样设置转载,访问固定端口,让他访问其他资料的配置文件,访问/,给你那些
网页设计,若依项目修改(It must be done)01----若依打包位置,nginx代理前端静态资源和后端接口,就是怎样设置转载,访问固定端口,让他访问其他资料的配置文件,访问/,给你那些
|
2月前
|
JSON JavaScript 前端开发
vue2_vite.config.js的proxy跨域配置和nginx配置代理有啥区别?
vue2_vite.config.js的proxy跨域配置和nginx配置代理有啥区别?
70 1
|
2月前
|
Ubuntu 应用服务中间件 Linux
nginx 配置代理ip访问https的域名配置
nginx 配置代理ip访问https的域名配置
356 2
|
2月前
|
数据可视化 应用服务中间件 网络安全
简单易用的Nginx代理管理工具:体验便捷配置、高效管理
Nginx Proxy Manager是一款强大的代理服务器管理工具,提供简单直观的界面来配置和管理Nginx代理服务器,帮助用户轻松提升配置的简洁性和便捷性。
133 0
简单易用的Nginx代理管理工具:体验便捷配置、高效管理
|
2月前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
471 0
|
2月前
|
缓存 应用服务中间件 Linux
Linux系统中基于NGINX的代理缓存配置指南
配置后,NGINX将缓存后端服务器的响应,并根据缓存配置进行有效期控制。这样可以加速页面加载并减轻后端服务器的负担。
60 0
|
2月前
|
算法 应用服务中间件 网络安全
windows下采用 nginx配置websocket支持wss流程
windows下采用 nginx配置websocket支持wss流程
315 0
|
2月前
Nginx---代理遇到的坑
Nginx---代理遇到的坑
30 1
|
7月前
|
应用服务中间件 nginx Python
nginx代理目录
nginx代理目录
58 1