pc端连接不上服务器

0

如题,移动端用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:端口号");



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


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

已邀请:

要回复问题请先登录注册