【配置】使用nginx反向代理加密websocket (wss)
来源:互联网 发布:c语言将大写转换为小写 编辑:程序博客网 时间:2024/06/03 10:04
对于普通的websocket(非加密)服务器端直接处理就可以,可以用Go或者Nodejs等等做服务端。对于加密的,那么服务端需要配置证书。
那么如果你想省掉服务端的改动,其实也可以在代理层做一些工作,让nginx来处理SSL部分,然后通过upstream使用普通的ws协议即可。
这样的好处就是可以让服务端更轻松,还有一点就是可以利用nginx的负载均衡来分配多个后端服务实体。
具体配置方法:
在nginx配置文件里面新增server配置:
upstream wss_svr {
server 127.0.0.1:9999 weight=1; #这里可以是多个服务端IP(分多行),设置权重就可以实现负载均衡了
}
server {
listen 443;
server_name test.xxxx.com;
access_log logs/test.xxxx.log main;
ssl on;
ssl_certificate /etc/test.xxxx.com.cer; # 这里是服务端的证书路径
ssl_certificate_key /etc/test.xxxx.com.key; # 这里是秘钥路径
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 SSLv2 SSLv3;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
ssl_verify_client off;
location / {
proxy_redirect off;
proxy_pass http://wss_svr;
proxy_set_header Host $host;
proxy_set_header X-Real_IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr:$remote_port;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection “upgrade”;
}
}
把证书和秘钥放置好之后,就可以用 nginx -s reload来重新加载配置文件,一切准备就绪。
测试,按照你预先设定好的服务端请求地址new websocket连接即可。例如 wss://test.xxxx.com/
- 【配置】使用nginx反向代理加密websocket (wss)
- Nginx 反向代理 websocket
- Nginx 反向代理 websocket
- 如何配置Nginx作为WebSocket的反向代理
- Nginx WebSocket代理配置
- nginx反向代理配置
- nginx反向代理配置
- nginx反向代理配置
- Nginx 配置反向代理
- nginx反向代理配置
- nginx反向代理配置
- Nginx反向代理配置
- nginx配置反向代理
- nginx反向代理配置
- Nginx反向代理配置
- nginx反向代理配置
- Nginx反向代理配置
- nginx反向代理配置
- 【算法】一种用于云计算的SPSO算法
- android killer连接夜神模拟器
- 文章标题
- C/C++学习笔记
- 作业五 二叉树II
- 【配置】使用nginx反向代理加密websocket (wss)
- win 8088端口被占用解决方式及延伸
- Android隐藏系统底部工具栏(Navigation bar)
- 面试中遇到的算法题(最长回文子串的长度)
- Redis分布式锁----乐观锁的实现,以秒杀系统为例
- NYOJ 背包问题
- Hog,SIFT以及LBP这三种特征有什么不同
- Redis学习-4:Java操作Redis-Jedis
- NOIP2001 提高组 复赛 数的计数