[求助]laravel-websockets wss问题已经困恼我一周了

环境是 laradock
nginx 配置:

location /ws{
        proxy_pass http://localhost:6001;
            proxy_set_header Host $host;
             proxy_http_version 1.1;
             proxy_set_header Connection "upgrade";
             proxy_set_header Upgrade $http_upgrade;
             proxy_cache_bypass $http_upgrade;
        }

上面就算是改成 /wss 也不行。#

laravel-echo 配置:

window.Echo = new Echo({
broadcaster: 'pusher',
key: '12345678',
cluster: 'mt1',
wsHost: window.location.hostname,
wsPort: 6001,
wssPort: 6001,
enabledTransports: ['ws'],
forceTLS: true,
});

我看了官方文档,wss 要配置成这样:
enabledTransports: [‘ws’],
forceTLS: true,

websockets.php:,nginx 已经配置了证书了,laradock 自带的,并且给到了 Nginx root 权限

laravel-websockets如何配置wss?已经困恼我一周了

php artisan 操作也做了,vite 也配置了 https,docker 端口也开了
ws 正确,只有 wss 错误,截图如下:

laravel-websockets如何配置wss?已经困恼我一周了

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

首先感谢各位的评论帮助,现在我解决了这个问题,我忘记说了我是在 laradock 环境下,所以 nginx 设置代理的时候要设置 workspace 的 IP 地址而不是 127.0.0.1。 这个问题搞了我一个星期,惭愧 :joy: 再次感谢各位的帮助!

1年前 评论
讨论数量: 20
Jianne

换成用 Soketi 试试,laravel-websockets 好像没怎么维护了

1年前 评论

Soketi +1

1年前 评论
Jianne 1年前

wsHost 后面加个后缀 ws

1年前 评论
facetoface (楼主) 1年前
window.Echo = new Echo({
    broadcaster: 'pusher',
    key: '12345678',
    cluster:'mt1',
    wsHost:location.hostname,
    wsPort:80,
    wssPort:443,
    enabledTransports: ['ws','wss'],
    forceTLS: true,
    disableStats: true,
});

你试一下吧

1年前 评论
facetoface (楼主) 1年前
sparkinzy (作者) 1年前
sparkinzy (作者) 1年前
facetoface (楼主) 1年前
sparkinzy (作者) 1年前

你为什么不用这个呢?www.workerman.net/doc/gateway-work...

1年前 评论
meows (作者) 1年前
梦想星辰大海

github.com/buexplain/netsvr-busine...
如果只是服务端推送,不涉及客户端往服务端写数据,可以试试我这个。

1年前 评论

ssl 证书配置在 nginx 上,客户端与 nginx 之间是 wss 通信,nginx 与后台之间就不用考虑 ssl 了,看看证书配置对吗,客户端 websocket 支持 ssl 方式吗

1年前 评论
facetoface (楼主) 1年前
sanders

我猜:如果按楼主的前端配置,ws 应该没有访问到 nginx 上,而是直接访问到 laravel-websockets 监听的 6001 端口上了。如果楼主确认是访问到 nginx 上,建议通过 nginx 日志确认一下。

另外也推荐一下 sokti 我是通过 sail 管理的开发环境,部署 sokti 过程非常丝滑。

1年前 评论
facetoface (楼主) 1年前

首先感谢各位的评论帮助,现在我解决了这个问题,我忘记说了我是在 laradock 环境下,所以 nginx 设置代理的时候要设置 workspace 的 IP 地址而不是 127.0.0.1。 这个问题搞了我一个星期,惭愧 :joy: 再次感谢各位的帮助!

1年前 评论