ace*_*777 6 php websocket laravel
我正在使用该包beyondcode/laravel-websockets。
我的问题是,当我设置'verify_peer' => truewebsocket 时,它不起作用,但当该值是时,false它就起作用了。这里有人设法让它发挥作用吗?
对于生产网站,我想设置verify_peer来true防止中间人攻击。
我有一个网站,可以说aceraven777.com,它已经SSL安装了(在cPanel它已autoSSL启用的情况下)。
cPanel在 websockets 配置中,我为证书和私钥输入了相同的路径(生成的路径)。
chrome 抛出错误:
\nWebSocket connection to 'wss://aceraven777.com:6001/app/asdfswerqwsafasfd?protocol=7&client=js&version=4.3.1&flash=false' failed: \ncreateWebSocket @ pusher.min.js:8\nRun Code Online (Sandbox Code Playgroud)\n这是 Firefox 中的错误:
\nFirefox can\xe2\x80\x99t establish a connection to the server at wss://aceraven777.com:6001/app/asdfswerqwsafasfd?protocol=7&client=js&version=4.3.1&flash=false. pusher.min.js:8:6335\nRun Code Online (Sandbox Code Playgroud)\n以下是我使用的设置:
\n配置/websockets.php
\n'ssl' => [\n /*\n * Path to local certificate file on filesystem. It must be a PEM encoded file which\n * contains your certificate and private key. It can optionally contain the\n * certificate chain of issuers. The private key also may be contained\n * in a separate file specified by local_pk.\n */\n 'local_cert' => env('LARAVEL_WEBSOCKETS_SSL_LOCAL_CERT', null),\n\n /*\n * Path to local private key file on filesystem in case of separate files for\n * certificate (local_cert) and private key.\n */\n 'local_pk' => env('LARAVEL_WEBSOCKETS_SSL_LOCAL_PK', null),\n\n /*\n * Passphrase for your local_cert file.\n */\n 'passphrase' => env('LARAVEL_WEBSOCKETS_SSL_PASSPHRASE', null),\n\n 'verify_peer' => true,\n],\nRun Code Online (Sandbox Code Playgroud)\n配置/广播.php
\n'pusher' => [\n 'driver' => 'pusher',\n 'key' => env('PUSHER_APP_KEY'),\n 'secret' => env('PUSHER_APP_SECRET'),\n 'app_id' => env('PUSHER_APP_ID'),\n 'options' => [\n 'cluster' => env('PUSHER_APP_CLUSTER'),\n 'host' => env('PUSHER_APP_HOST'),\n 'port' => env('PUSHER_APP_PORT'),\n \n 'useTLS' => true,\n 'scheme' => 'https',\n \n 'curl_options' => [\n CURLOPT_SSL_VERIFYHOST => 1,\n CURLOPT_SSL_VERIFYPEER => 1,\n ],\n ],\n\n // Configuration for laravel mix JS\n 'mix' => [\n 'host' => env('MIX_PUSHER_APP_HOST'),\n 'key' => env('MIX_PUSHER_APP_KEY'),\n 'cluster' => env('MIX_PUSHER_APP_CLUSTER'),\n 'port' => env('MIX_PUSHER_APP_PORT'),\n ],\n],\nRun Code Online (Sandbox Code Playgroud)\n
小智 -1
这篇文章前一段时间帮助我实现了 websockets,特别是使用 SSL 证书: https: //christoph-rumpel.com/2020/11/laravel-real-time-notifications
您还有 git 存储库告诉您如何使用和不使用 SSL 来实现。