求助Gatewaywork在centos7运行正常但前端握手不成功并且没报错原因

shuopeng666

问题描述

1.禁用函数都删除了
2.Gatewaywork运行成功了

截图
截图

3.端口也放行了
4.协议也修改了websocket

截图

5.我下载的是新版的Gatewaywork demo windows版本 在windows本地一切正常;但说过新版的windows和linux兼容了 且在linux中能启动
5.ssl也配置了
但是前端就是握手不成功。。。。。。。不显示报错原因

截图

前端代码

截图

求助!!!!!!

debug下
截图

这是用测试工具显示的

截图

1179 7 0
7个回答

Gin
  • shuopeng666 2023-02-08

    你评论前就是安照文档配置的;问题如上 ..........

  • xiuwang 2023-02-08

    @remix789 发的手册里注意事项 3 证书一般是与域名绑定的,所以测试的时候请使用证书对应的域名去连接,不要使用其它域名或者ip去连 看下是不是这个问题。看到你是用ip连的,没用证书的域名连

  • shuopeng666 2023-02-08

    这个我也注意到了 我用域名了 没用。。。

  • xiuwang 2023-02-08

    服务端debug方式运行,看下报错
    还有你的证书是自己创建的还是机构给的,看你截图注释里自己创建的证书要设置 allow_self_signed => true

  • shuopeng666 2023-02-08

    是机构发的 debug下没报错 刚上传的最后一张图是debug下的

  • shuopeng666 2023-02-08

    主要是没报错信息 只在页面显示链接失败 太愁人了。。。

  • xiuwang 2023-02-08

    建议ssl用nginx代理 https://www.workerman.net/doc/workerman/faq/secure-websocket-server.html#nginx%E9%85%8D%E7%BD%AE%E5%8F%82%E8%80%83
    用nginx代理时gatewayWorker就不能配置ssl了,否则会冲突

  • shuopeng666 2023-02-08

    我用的是apache服务器

  • xiuwang 2023-02-08

    我发的那个地址也有apache代理ssl的方法

  • shuopeng666 2023-02-08

    我刚去试了 没用 嗨......
    折腾两天了........

shuopeng666

debug下也没报错 但是前端js中就是连接不上 协议什么的都是对。。。。
截图

  • geek2bin 2023-02-09

    你这干脆就没到服务端去?你可以服务器装一个wscat ws工具,现在本地测一下,服务是不是正常

  • shuopeng666 2023-02-09

    到服务端了啊

six

按照文档 https://www.workerman.net/doc/gateway-worker/secure-websocket-server.html

// 证书最好是申请的证书
$context = array(
    // 更多ssl选项请参考手册 https://php.net/manual/zh/context.ssl.php
    'ssl' => array(
        // 请使用绝对路径
        'local_cert'                 => '磁盘路径/server.pem', // 也可以是crt文件
        'local_pk'                   => '磁盘路径/server.key',
        'verify_peer'               => false,
        // 'allow_self_signed' => true, //如果是自签名证书需要开启此选项
    )
);
// websocket协议(端口任意,只要没有被其它程序占用就行)
$gateway = new Gateway("websocket://0.0.0.0:443", $context);
// 开启SSL,websocket+SSL 即wss
$gateway->transport = 'ssl';

$context要传递到 new Gateway 里,你没传

  • shuopeng666 2023-02-09

    谢谢了,刚去试了下还是不行。。头都大了

  • six 2023-02-09

    按照文档,用域名去连,确认域名和证书域名一致

  • shuopeng666 2023-02-09

    连了 握手不成功

  • six 2023-02-09

    改完start_gateway.php代码restart重启

  • shuopeng666 2023-02-09

    重新启动了 还是不好用 这个bug已经困扰第三天了。。。

  • six 2023-02-09

    代码没生效,确认上传上去了?确认是用restart重启的

  • six 2023-02-09

    这种问题感觉就是很低级的错误导致的,检查下吧

  • shuopeng666 2023-02-09

    是啊 平滑重启的

  • six 2023-02-09

    restart重启啊

  • shuopeng666 2023-02-09

    头大了

  • shuopeng666 2023-02-09

    嗯嗯

  • shuopeng666 2023-02-09

    能加下你联系方式吗 感谢了

  • six 2023-02-09

    你restart重启应该就ok了,不要reload

  • shuopeng666 2023-02-09

    你看下我是restart重启的

  • six 2023-02-09

    没生效。确认下服务器上文件是否真的改了,截图下。
    重启界面截图下

  • shuopeng666 2023-02-09

    好的

shuopeng666

截图

  • 暂无评论
shuopeng666

截图

  • six 2023-02-09

    还有截图服务器上 start_gateway.php文件,注意是服务器上的。不看本地的,因为我怀疑你都没上传成功

  • shuopeng666 2023-02-09

    在下方截图了

北月

服务器是在本地局域网,还是在公网?
如果是公网,请先把域名解析了。

  • shuopeng666 2023-02-09

    域名已经解析了 页面能正常访问 但是websocket握手不成功

  • six 2023-02-09

    你 upmylife.cn 没解析,www.upmylife.cn有解析

  • shuopeng666 2023-02-09

    www.upmylife.cn也试了 也不好用,刚刚我换了个端口也不行

shuopeng666

截图

  • six 2023-02-09

    确认下,你上传的服务器是不是 81.69.9.9

  • shuopeng666 2023-02-09

    是这个

  • six 2023-02-09

    现在看就是文件没生效,你自己想下吧,服务器传对没

  • shuopeng666 2023-02-09

    我本地的windows可以正常握手 通信 上传到服务器就不行了。。。。

  • shuopeng666 2023-02-09

    解决了 把Gateway中的127.0.0.1 改成0.0.0.0就行了 希望看到的别像我一样踩这坑

  • six 2023-02-09

    感觉你这个问题乱七八糟的
    之前你context明显没传,然后你说你之前windows一切正常,但服务器上不行,context都没传进去windows怎么可能正常?
    让你截图服务器上的代码,你截图里明明写的是0.0.0.0,然后你有说你实际用的是127.0.0.1 !
    😂

  • shuopeng666 2023-02-09

    之前确实有好几个点不对 。。。。感谢了 现在通透了

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