2017-01-20 47 views
2

私が例に以下の構成が使用されている情報https://github.com/nrk/predisを使用して、predis 1.1およびSSLでのRedisに接続しようとしています:SSL経由のLaravel + Redis Cache?

// Named array of connection parameters: 
$client = new Predis\Client([ 
    'scheme' => 'tls', 
    'ssl' => ['cafile' => 'private.pem', 'verify_peer' => true], 
]); 

マイLaravelの構成は以下のようになります。

'redis' => [ 
     'client' => 'predis', 
     'cluster' => env('REDIS_CLUSTER', false), 

     'default' => [ 
      'host' => env('REDIS_HOST', 'localhost'), 
      'password' => env('REDIS_PASSWORD', null), 
      'port' => env('REDIS_PORT', 6379), 
      'database' => 0, 
     ], 

     'options' => [ 
      'cluster' => 'redis', 
      'parameters' => ['password' => env('REDIS_PASSWORD', null)], 
      'scheme' => 'tls', 
      'ssl' => ['verify_peer' => false], 
     ], 
    ], 

私はSSLのために使用された鍵を持っていないので、ピア検証を無効にしました(http://php.net/manual/en/context.ssl.php)。

残念ながら、私は次のエラーを取得しています:

ConnectionException in AbstractConnection.php line 155: 
Error while reading line from the server. [tcp://MY_REDIS_SERVER_URL:6380] 

提案が評価されています:)

+0

.envファイルを投稿してください。エラーは、あなたの.envのMY_REDIS_SERVER_URLがどこにあるのかです。 – Paras

+0

MY_REDIS_SERVER_URLは単にRedisサーバーのURLです。私はポート6379経由でアクセスできますが、6380ではアクセスできません。どちらもアクセス可能でなければなりません(これはAzure Redis Cacheで、デフォルトで6380が開かれています)。 –

+0

この解決策をお探しですか? – codiaf

答えて

0

私はそれが仕事を得ることができました!

あなたは'options'から'default'に「スキーム」を移動する必要があります。

私の作業設定:

'redis' => [ 
    'client' => 'predis', 
    'cluster' => env('REDIS_CLUSTER', false), 

    'default' => [ 
     'scheme' => 'tls', 
     'host' => env('REDIS_HOST', 'localhost'), 
     'password' => env('REDIS_PASSWORD', null), 
     'port' => env('REDIS_PORT', 6379), 
     'database' => 0, 
    ], 

    'options' => [ 
     'parameters' => ['password' => env('REDIS_PASSWORD', null)], 
     'ssl' => ['verify_peer' => false], 
    ], 
], 

注:私はまた'options'から'cluster'オプションを削除していたが、私はこれを疑うしないでくださいこの問題を解決するためには

最後の設定では、'scheme' => env('REDIS_SCHEME', 'tcp'),に変更してから、代わりにenvファイルにREDIS_SCHEME=tlsを定義しました。

TLSを有効にしたAWS ElastiCacheでテスト済みです。

関連する問題