LaravelでPredisモジュールを使用してRedisサーバーにTLS接続している場合、接続に使用されているTLSのバージョンを直接取得する方法は標準的には提供されていません。ただし、以下の手順でTLSバージョンを確認することができます。
方法1: ネットワークキャプチャツールの使用
ネットワークキャプチャツールを使用して、Redisクライアントとサーバー間の通信をキャプチャし、TLSハンドシェイクの詳細を確認する方法が最も確実です。
- Wiresharkのインストール: Wiresharkをインストールします。
- 通信のキャプチャ: Wiresharkを起動し、Redisクライアントとサーバー間の通信をキャプチャします。具体的には、Redisサーバーのホスト名またはIPアドレスに対する通信をフィルタリングします。
- TLSハンドシェイクの確認: キャプチャしたパケットの中から、TLSハンドシェイクのパケットを確認し、使用されているTLSバージョンを特定します。
方法2: Redisサーバーのログを確認
Redisサーバーの設定で詳細なログを有効にしている場合、TLS接続に関する情報が記録されていることがあります。Redisサーバーのログファイルを確認し、TLSバージョンが記録されているかを確認します。
方法3: Predisクライアントのデバッグログを有効にする
Predisクライアントのデバッグログを有効にすることで、接続時の詳細な情報を取得できる場合があります。ただし、Predisのデフォルト設定ではTLSバージョンがログに記録されることは少ないです。この方法を試す場合、Laravelのlogging
設定を変更して、Predisのログを詳細に記録するように設定する必要があります。
Laravelのlogging
設定を変更
Laravelのconfig/logging.php
ファイルで、デバッグログを有効にします。
'channels' => [
'stack' => [
'driver' => 'stack',
'channels' => ['daily', 'single'],
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
'days' => 14,
],
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
'level' => 'debug',
],
],
その後、Predisクライアントの接続設定を確認し、詳細なログが出力されるようにします。
方法4: Redisサーバーの設定確認
Redisサーバーの設定ファイル(通常はredis.conf
)を確認し、TLSに関連する設定をチェックします。特に、tls-protocols
オプションが設定されている場合、許可されているTLSバージョンがわかりますが、実際にどのバージョンで接続されているかは直接確認できません。
まとめ
上記の方法のうち、ネットワークキャプチャツールを使用する方法が最も確実に使用されているTLSバージョンを確認できます。Wiresharkなどのツールを使って、接続時のTLSハンドシェイクをキャプチャし、詳細を確認してみてください。