pc端连接不上服务器

user

如题,移动端用ws是能够成功连接的,所以我在pc端用wss进行了类似的思路和步骤。

1.在nginx配置中添加了如下代码

location /websocket/ {
proxy_pass http://我的公网IP:端口号;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
}

2.在start_gateway.php中添加以下代码

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

这一步跟官网文档没区别

然后在确保服务正常开启、移动端用ws能够成功连接、端口号未被占用、防火墙添加端口号白名单 的情况下

3.在前端代码中进行连接

ws = new Worker("wss://我的域名:端口号");

结果报错了

WebSocket connection to 'wss://我的域名:端口号/' failed:

failed后面还是空的,我也不知道啥意思,直接默认为是根本就没对上地址,可能是我写错了
经过搜索之后我用

ws = new Worker("wss://我的域名/websocket/");

试了一下也不行,用

ws = new Worker("wss://我的公网IP:端口号");

就更不用说了,反正无论如何都连接不上

各位大佬,请问我是哪里写错了

1585 0 0
0个回答

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