wss协议域名访问做443端口转发为什么没用?

发布于 2022-09-11 16:59:01 字数 1348 浏览 12 评论 0

1、Nginx设置如下

# 实际websocket服务器地址
upstream wss_svr {
    server 192.168.213.182:1234 weight=1;  
}
 
# 443 ssl端口配置,实际websockets(wss)地址
server {
 
    listen 443;
    server_name www.a.com;
        
    ssl on;
 
    # 自己的证书,放在与nginx.conf同一文件夹下。(若放不同文件夹注意路径问题)
    ssl_certificate dhxtest.crt;
    ssl_certificate_key dhxtest_nopass.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;
    }
        
}

2、WebSocket连接如下

ws = new WebSocket("wss://www.a.com");
ws.onopen = function() {
    alert("连接成功");
    ws.send('tom');
    alert("给服务端发送一个字符串:tom");
};
ws.onmessage = function(e) {
    alert("收到服务端的消息:" + e.data);
};

3、如果用端口连接的话就可以 wss://www.a.com:1234

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无声无音无过去 2022-09-18 16:59:01

具体的报错信息是?

红墙和绿瓦 2022-09-18 16:59:01

workerman有视频教程,挺不错的。网址: https://study.163.com/course/...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文