问候社区
我有下一个问题。我有一个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上运行时才有效。