Laravel + Vuejs + Laravel-Webscoket + Apache



问候社区

我有下一个问题。我有一个api在Laravel和前端在vuejs。问题是套接字只在本地工作,但是当我在共享主机上上传两个项目时,套接字失败并在浏览器控制台显示错误连接

这是我在config/broadcast .php中的配置

'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'),
'useTLS'                => true,
'encrypted'             => false,
'host'                  => 'backtotalv2.tastyboom.com',
'port'                  => 6001,
'scheme'                => 'https',
'curl_options'          => [
CURLOPT_SSL_VERIFYHOST => 0,
CURLOPT_SSL_VERIFYPEER => 0,
]
],
],

这是我在config/websocket.php中的配置

'ssl' => [
'local_cert' => env('LARAVEL_WEBSOCKETS_SSL_LOCAL_CERT', null),
'local_pk' => env('LARAVEL_WEBSOCKETS_SSL_LOCAL_PK', null),
'passphrase' => env('LARAVEL_WEBSOCKETS_SSL_PASSPHRASE', null),
],

这是我的main.js在我的vuejs:

import Echo from 'laravel-echo';
window.Echo = new Echo({
broadcaster: 'pusher',
key: '***************',
cluster: 'tls',
forceTLS: false,
wsHost: '127.0.0.1',
wssPort: 6001,
wsPort: 6001,
authEndpoint: `${config.url}/broadcasting/auth`,
enabledTransports: ['ws', 'wss'],
encrypted: false,
auth: {
headers: { 
"Authorization": "Bearer " + token
}
}
});

我试着遵循这个例子,但它没有工作Laravel + next + Nginx

在生产环境中总是在控制台中显示此错误

误差

如果有人能帮助我,我将感激不尽。

在我看来,你的服务器配置为安全运行在TLS,因为你有'useTLS'设置为真,但在你的客户端,你有'加密'和' foretls '设置为假。另外请记住,如果您的站点在HTTPS上运行,那么您将被迫使用加密的WSS,因为WS仅在您的站点在未加密的HTTP上运行时才有效。

最新更新