私にとって、これは2015年4月3日に発生したRDSSSL証明書のローテーションと関係がありました。
ただし、私の場合、ルート証明書を使用するだけでは機能せず、地域の中間証明書も使用する必要がありました。詳細:
-
AWS rdsコンソールに移動し、RDSインスタンスを再起動します。
-
新しいルート証明書をダウンロードします
https://s3.amazonaws。 com / rds-downloads / rds-ca-2015-root.pem 。アプリのconfigディレクトリに配置します。 -
データベースリージョンの中間証明書をダウンロードします
こちら 。米国東部を使用する必要がありましたが、お住まいの地域に合わせて選択する必要があります。 -
これが重要なステップです。中間証明書とルート証明書を1つのファイルに結合して、中間証明書がルート証明書の上にくるようにし、証明書チェーンを形成する必要があります。テキストエディタを使用して中間証明書を開き、その内容をコピーして、ルート証明書の上にあるconfig/rds-ca-2015-root.pemに貼り付けます。したがって、完了したら、config / rds-ca-2015-root.pemは、すべてこのファイル内の中間証明書とそれに続くルート証明書になります。
-
現在のデータベースのURLを取得する
heroku config
次に、DATABASE_URLプロパティを探します
- 新しい証明書ファイルを使用するようにデータベースのURLを更新します。変更する必要があるのは、証明書の名前だけです(現在はrds-ca-2015-root.pemと呼ばれているため)
heroku
config:add DATABASE_URL="mysql2://DB_NAME:[email protected]_URL/DB_NAME?sslca=config/rds-ca-2015-root.pem"
- 変更をコミットして、Herokuに再デプロイします。