为啥wss链接不成功?也不提示失败原因

学习者

测试了一两天了一直没部署成功,网上说的常见方法都尝试过了
阿里云安全组

宝塔端口

nginx代理 配置

GatewayWorker运行

Linux防火墙:iptables

Linux防火墙:firewall

网站HTTPS

报错页面

使用console进行尝试的话可以链接ws,但是wss无论如何尝试都是无法连接,也不提示错误 就是返回空!
环境:CentOS 8.2.2004 + php7.0 + Nginx 1.20.1 + 宝塔 + supervisord 进程管理器 + thinkphp5.0

2464 6 0
6个回答

学习者

start_businessworker

start_gateway

start_register

这是那三个文件

  • 暂无评论
Tinywan

你这是连接上又断开了,可以使用在线工具试试

学习者

重定向对这个有影响吗?因运营需求把所有非3w和http的都定向到https://www 了

  • Tinywan 2022-05-09

    解决问题先从最简单的开始排查
    ① 无nginx代理
    ② 有nginx代理
    ③ 有nginx代理,配置证书

    这个三步基本可以解决你上面的问题了。你这里也不涉及源码或者并发等其他问题,就是一个简单的链接。

  • 学习者 2022-05-09

    有NGINX代理,证书都配置好网站都用了两年了...

owenzhang

wss 地址:wss://pay.owenweb.com/wss
自动加:域名/wss的,你nginx 配置漏了rewrite /wss/(.*) /$1 break;
你可以参考我的文章,我也是上周用了wokerman的wss,然后研究成功了
https://my.oschina.net/owenzhang24/blog/5522634

  • 学习者 2022-05-09

    没用!试了一下还是一样 报错 然后啥都没返回

  • owenzhang 2022-05-09

    或者你用我的方法 试下?端口有开吗?

  • 学习者 2022-05-09

    都开了啊!我上面截图都有的 无论是服务器的安全组还是防火墙,或者是宝塔的设置都是开启的

  • owenzhang 2022-05-09

    location /wss
    {
    proxy_pass http://127.0.0.1:55579;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    rewrite /wss/(.*) /$1 break;
    proxy_redirect off;
    }

  • 学习者 2022-05-09

    完全复制你的 只是改了对应的端口,把wss改为socket而已 其他没变...

  • owenzhang 2022-05-09

    我整个复制给你 你看看

  • 学习者 2022-05-09

    好的 下午我试试

  • 学习者 2022-05-09

    不行!还是报错 返回空

  • owenzhang 2022-05-09

    websocket://0.0.0.0:2346改成websocket://127.0.0.1:2346 试下?感觉没差 哈哈哈

  • 学习者 2022-05-09

    嗯!没啥区别...

  • owenzhang 2022-05-09

    试下啊

  • 学习者 2022-05-09

    试了啊 还是那样报错...我就连位置都按照你的调了

  • owenzhang 2022-05-10

    祝你好运

  • 学习者 2022-05-10

    可以了!是cdn问题 配置好就瞬间可以了....

  • owenzhang 2022-05-12

    cdn什么问题 具体说出来 分享下啊!!!

  • 学习者 2022-05-12

    https://www.workerman.net/doc/workerman/faq/client-connect-fail.html
    connection timeout(连接超时)
    一般是以下原因:
    1、服务器防火墙阻止了连接,可以临时关闭防火墙试下
    2、如果是云服务器,安全组也可能会阻止连接建立,需要到管理后台开放对应端口
    3、如果用了宝塔等面板,需要在宝塔中开放对应端口
    4、服务器不存在或者没有启动
    5、如果客户端使用了域名连接,域名可能指向了错误的服务器ip
    6、客户端访问的ip是服务器内网ip,并且客户端和服务端不在一个局域网

    因为使用了cdn所以域名指向ip不是服务器的!我也是看了文档排查的时候看到这条的,应该是这个原因 我配置了cdn就可以了

  • owenzhang 2022-05-12

    行吧

yongdao35

感觉是证书问题

  • 学习者 2022-05-09

    我也感觉是 但是我网站能正常运行https啊 如果我用ws他也会报错

  • yongdao35 2022-05-09

    看下连的域名和证书是否匹配吧

  • 学习者 2022-05-09

    好的

  • 学习者 2022-05-09

    证书使用的是通配符的,对的上..

wolfcode

proxy_pass https://xxxxx
改成
proxy_pass http://xxxxx

年代过于久远,无法发表回答
🔝