Laravel Websockets - 错误:失败:连接建立错误:net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH
Posted
技术标签:
【中文标题】Laravel Websockets - 错误:失败:连接建立错误:net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH【英文标题】:Laravel Websockets - error:failed: Error in connection establishment:net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH 【发布时间】:2019-08-14 17:43:42 【问题描述】:我在这个问题上浪费了几天时间,阅读了很多其他问题,但我不能简单地把它付诸实践,也不知道我的问题出在哪里,所以我希望有人能指出我的正确方向方向。所以下面是我用来尝试的代码!实现 websockets:(我也只是使用推送器驱动程序,而不是帐户!)
broadcasting.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'),
'host' => '127.0.0.1',
'port' => 6002,
'scheme' => 'https',
],
],
websockets.php
'apps' => [
[
'id' => env('PUSHER_APP_ID'),
'name' => env('APP_NAME'),
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'capacity' => null,
'enable_client_messages' => false,
'enable_statistics' => false,
],
],
...
'ssl' => [
'local_cert' => 'certs/myDomain.cert',
// i have created a certs
//folder in my public_html and downloaded the cert from my
//remote server
'local_pk' => 'certs/myDomain.key',
// i have created a certs
//folder in my public_html and downloaded the key from my
//remote server
'passphrase' => null // i don´t know the pass
],
bootstrap.js
import Echo from 'laravel-echo'
window.Pusher = require('pusher-js');
window.Echo = new Echo(
broadcaster: 'pusher',
key: 'myKey',
wsHost: window.location.hostname,
wssPort: 6002,
disableStats: true,
encrypted: true,
enabledTransports: ['ws', 'wss']
);
如果我去终端和 php artisan websockets:serve
--port=6002 服务器启动并没有报错
我的网站是 HTTPS,我不知道如何实现反向代理 就像文档说的那样,因为我使用的是 apache 而不是 nginx,而我的 面板编辑文件一团糟……使用 ssl 应该可以正常工作吗?
为什么会说ERR_SSL_VERSION_OR_CIPHER_MISMATCH我不知道该怎么办了
感谢您的宝贵时间,问候。
【问题讨论】:
【参考方案1】:所以我最终使用了文档讨论的反向代理解决方案,我没有找到使用 ssl 的解决方案,但我很确定它与我的证书和我的提供程序有关.. .事实证明,反向代理解决方案要简单得多,所以对于那些在同一个问题上苦苦挣扎的人,我建议这样做:
转到您的远程服务器面板(我有 CWP7)并打开您的 yourDomain.conf 并在里面放置:
ProxyPass/app/yourLaravelApp ws://yourDomain.com:theWebsocketPort/app/ginkgo
ProxyPass/app/yourLaravelApp ws://yourDomain.com:theWebsocketPort/app/ginkgo
你必须编辑的那个文件当然与你的网络服务器配置有关,在我的例子中,我有 myDomanin.ssl.conf 和 myDomain.conf,如果你有相同的,你 必须把代码放在上面在两个文件中,就是这样!,享受吧。
【讨论】:
以上是关于Laravel Websockets - 错误:失败:连接建立错误:net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH的主要内容,如果未能解决你的问题,请参考以下文章
Laravel Websockets - 错误:失败:连接建立错误:net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH
如何在共享主机上部署 laravel websockets?