[英]how to fix stream_socket_enable_crypto(): SSL operation failed with code 1
[英]How to fix stream_socket_enable_crypto(): SSL: Handshake timed out
我們在將 Azure 應用服務上的 Laravel 應用程序連接到端口 6380 上的 Azure Redis 緩存實例時遇到問題。我們不斷收到以下錯誤。
ErrorException in StreamConnection.php line 246:
stream_socket_enable_crypto(): SSL: Handshake timed out
in StreamConnection.php line 246
at HandleExceptions->handleError('2', 'stream_socket_enable_crypto(): SSL: Handshake timed out', '/var/www/vendor/predis/predis/src/Connection/StreamConnection.php', '246', array('parameters' => object(Parameters), 'resource' => resource, 'metadata' => array('timed_out' => false, 'blocked' => true, 'eof' => false, 'stream_type' => 'tcp_socket/ssl', 'mode' => 'r+', 'unread_bytes' => '0', 'seekable' => false), 'options' => array('crypto_type' => '9')))
at stream_socket_enable_crypto(resource, true, '9') in StreamConnection.php line 246
數據庫配置文件中的 Redis 代碼塊如下所示:
'redis' => [
'client' => 'predis',
'cluster' => false,
'default' => [
'scheme' => 'tls',
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
'read_write_timeout' => 0,
// 'ssl' => [
// 'verify_peer' => false,
// 'verify_peer_name' => false,
// 'allow_self_signed' => true
// ]
'context' => [
// 'auth' => ['username', 'secret'],
'stream' => [
'verify_peer' => true,
'verify_peer_name' => false,
'allow_self_signed' => true
],
],
],
'options' => [
'parameters' => ['password' => env('REDIS_PASSWORD', null)],
],
],
我期待有關如何解決此問題的指針/提示。 提前致謝。
由於方案類型“tls”而出現此問題。 只需刪除方案類型'tls',它就會開始工作。
注意:此解決方案僅適用於本地設置。 禁用 SSL 驗證具有安全隱患。 如果不驗證 SSL/HTTPS 連接的真實性,任何惡意攻擊者都可以冒充受信任的端點,您將容易受到中間人攻擊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.