こんにちは、鈴木商店の瀧です。
日頃からPhpStormのデータベースツールを用い、SSHトンネリング接続にて開発用のRDSへ接続しています。
今回、PhpStormを2021.1.3にアップデートしたところ、以下のエラーが発生し、RDSに接続できなくなりました。
同様の現象が発生する方がいらっしゃるかもしれないので、私が実施した内容を記載します。
1 2 3 4 |
[08001] Could not create connection to database server. Attempted reconnect 3 times. Giving up.javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate). |
環境
- MySQL (AWS RDS) : 5.7.22
- PhpStorm : 2021.1.3
- MySQL Connector/J : 8.0.21
原因
以下の参考文献によると、MySQLのJDBCドライバ (MySQL Connector/J 8.0.21) は、デフォルトではTLS 1.2以上の接続を有効化していないようです。
Chapter 16 Known Issues and Limitations
対処方法
enabledTLSProtocols
のプロパティを設定すれば良いとのことでしたので、次の通り、PhpStormのドライバの設定にて enabledTLSProtocols=TLSv1.2
を設定しました。
- [Data Source Properties] > [Data Sources and Drivers] > [Drivers]タブ > [MySQL] を開く
- [Advanced]タブを開き、次の画像の通り、
enabledTLSProtocols=TLSv1.2
のプロパティを設定する
以上、RDS(MySQL)へのSSHトンネリング接続時に javax.net.ssl.SSLHandshakeException が発生した際の対処方法を記載しました。
同様の現象が発生して悩まれている方の参考になれば幸いです。