nginx ws怎么变成wss
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx ws怎么变成wss相关的知识,希望对你有一定的参考价值。
nginx版本使用最新Stable版本,如果是旧版本,查询一下是否支持websocket代理。
WS普通Websocket代理,WSS是Https格式的。下面示例。表示两者都可以使用。如果强制WSS,可以在Location之前加一下Rewrite。
比如:
rewrite ^(.*)$ https://$host$1 permanent;里面模拟的是用户访问一台Nginx服务器,Nginx代理后面一台真实服务器。
如果只是一台机器上设置也是类似的。
此外里面的域名和端口和证书,日志名称之类的根据自己的情况来定。
这个文件保存成一个name.conf在Nginx.conf中include即可。
ip_hash;
server 172.16.10.10 weight=1 max_fails=2 fail_timeout=2;
server
listen 80;
listen 443;
server_name yoursever.domain.com;
ssl on;
ssl_certificate /etc/ssl/certs/yourname.crt;
ssl_certificate_key /etc/ssl/certs/yourname.key;
ssl_session_timeout 5m;
ssl_session_cache shared:SSL:50m;
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;
proxy_pass http://yourserver;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
access_log /var/log/nginx/yourserver.log main;
参考技术A 只需要像https那样配置,开启443端口的监听以及ssl
配置好证书即可
wss就是ws的安全版,经过了一层加密,后端运行的程序不需要改动,经过nginx后,数据已经被解密了本回答被提问者和网友采纳
宝塔中的nginx配置websocket,采用ws/wss方式配置
项目描述
项目直接用了宝塔家的nginx,做的反向代理,后来有了websocket的配置需求,经过一番探索,得以解决,记录备忘。
Nginx自定义路径的方式
网站——设置——配置文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/3d5d89ee1bc84c53b621d84c1712a155.png
server
listen 80;
listen 443 ssl http2;
......
......
#SSL-END
##访问域名wss://doc.mate.vip/wss 即可
location /wss
proxy_pass http://127.0.0.1:50001; ##代理到上面的ip
proxy_connect_timeout 30s;
proxy_read_timeout 86400s;
proxy_send_timeout 30s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
......
......
访问地址示例:https://doc.mate.vip/wss
Nginx反向代理的方式
配置代码
#持久化连接配置
proxy_connect_timeout 30s;
proxy_read_timeout 86400s;
proxy_send_timeout 30s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
这时候就可以使用websocket愉快地畅游了。
友情提醒
宝塔面板里——安全设置需要把相关端口放行
另外如果阿里云的ecs也需要进行放行操作
微服务项目
https://gitee.com/matevip/matecloud
以上是关于nginx ws怎么变成wss的主要内容,如果未能解决你的问题,请参考以下文章
系统是用安全证书nginx访问的,别人现在想用ws访问系统接口,访问不到怎么办
Pydio Cells docker + NGINX = /ws/chat 和 /ws/event 上的 404 错误