admin 管理员组文章数量: 887021
2024年1月17日发(作者:linux操作系统的分类)
在写的即时通讯需要wss协议访问时无法连接上需要修改nginx的配置。
首先注意事项:
1.开放外网访问端口,如7123,这步骤也跳过(在服务器防火墙开放和服务器运营商那边也要开放)
2.配置ssl证书(这里跳过)
重点配置开始:
修改项目的(宝塔可以直接写在伪静态那个地方,也可以修改nginx配置),添加如下内容:
#配置websocket 协议wss
location /wss {
proxy_pass 服务器IP(域名):端口;#如你的服务器IP是1.2.3.4,端口是7123,
#这里设置1.2.3.4:7213,也可以直接用localhost:7123
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
如果同时需要兼容ws和wss可以这样写:
#配置websocket 协议wss/ws转发
location ~* ^/ws {
proxy_pass 服务器IP(域名):端口;#如你的服务器IP是1.2.3.4,端口是7123,
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
重启保存重启一下nginx服务即可(在宝塔无需重启)
配置里面注意的事项:
① /wss 是转发的路径,可以自定义填写,会影响最后websocket的地址填写,如填写abc后socket地址是wss:///abc;
②proxy_pass的值是服务器ip(域名)可以是公网的IP、localhost、127.0.0.1、域名,协议用http就行了,不需要写https;
③端口是你服务端开放的websocket端口,比如7272、9501等,这里案例用7123,需要允许防火墙访问;
客户端链接方式:
wss://域名/wss
比如:wss:///wss
// 创建websocket
ws = new WebSocket("wss:///wss");
// 当socket连接打开时,输入用户名
= onopen;
// 当有消息时根据消息类型显示不同信息
age = onmessage;
e = function() {
("连接关闭,定时重连");
connect();
};
r = function(e) {
("出现错误",e)
};
版权声明:本文标题:宝塔部署ws协议 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1705442088h484931.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论