kyo*_*kyo 10 php websocket laravel pusher pusher-js
我使用的是 Laravel 5.8,我们在我们的应用程序中使用了带有 PUSHER 的网络套接字。它在本地或当我处于 HTTP 模式时完美地广播。当我将设置更新为 HTTPS 时,广播不再有效。
Any hints on this ? anyone ?
Run Code Online (Sandbox Code Playgroud)
我试过了
#客户端
window.Echo = new Echo({
broadcaster: 'pusher',
key: process.env.MIX_PUSHER_APP_KEY,
cluster: process.env.MIX_PUSHER_APP_CLUSTER,
wsHost: window.location.hostname,
encrypted: false,
// wsPort: 6001,
// wssPort: 6001,
disableStats: true,
forceTLS: true,
enabledTransports: ['ws', 'wss']
});
Run Code Online (Sandbox Code Playgroud)
和
#服务器端
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => env('PUSHER_APP_CLUSTER'),
'scheme' => 'http',
'useTLS' => true,
'debug' => true,
'curl_options' => [
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4
]
],
],
Run Code Online (Sandbox Code Playgroud)
结果一样!不工作!

它在本地 Chrome 上运行良好,但在 firefox 上运行良好
我在控制台看到这个
Maa*_*man 12
您没有连接到正确的端口,或者 Echo 的默认端口不是您应该用于 pusher 的默认端口。在 JavaScript 前端.env文件中定义正确的端口。(我不知道您的存储库设置,但有时您可以使用.env.local文件,例如在 Vue 设置中)。
Pusher 似乎使用默认 Web 端口 80 和 443,如下所述:https : //pusher.com/docs/channels/library_auth_reference/pusher-websockets-protocol
在您的 中定义端口后.env,更改您的 JavaScript 代码:
wsPort: process.env.MIX_PUSHER_WS_PORT,
wssPort: process.env.MIX_PUSHER_WSS_PORT,
Run Code Online (Sandbox Code Playgroud)
不要忘记重建你的前端。
| 归档时间: |
|
| 查看次数: |
1687 次 |
| 最近记录: |