sql >> データベース >  >> RDS >> Mysql

AWSRDSを使用したHerokuアプリでMysql2::Error(SSL接続エラー:ASN:不正な他の署名の確認)を取得する

    私にとって、これは2015年4月3日に発生したRDSSSL証明書のローテーションと関係がありました。

    ただし、私の場合、ルート証明書を使用するだけでは機能せず、地域の中間証明書も使用する必要がありました。詳細:

    1. AWS rdsコンソールに移動し、RDSインスタンスを再起動します。

    2. 新しいルート証明書をダウンロードします https://s3.amazonaws。 com / rds-downloads / rds-ca-2015-root.pem 。アプリのconfigディレクトリに配置します。

    3. データベースリージョンの中間証明書をダウンロードしますこちら 。米国東部を使用する必要がありましたが、お住まいの地域に合わせて選択する必要があります。

    4. これが重要なステップです。中間証明書とルート証明書を1つのファイルに結合して、中間証明書がルート証明書の上にくるようにし、証明書チェーンを形成する必要があります。テキストエディタを使用して中間証明書を開き、その内容をコピーして、ルート証明書の上にあるconfig/rds-ca-2015-root.pemに貼り付けます。したがって、完了したら、config / rds-ca-2015-root.pemは、すべてこのファイル内の中間証明書とそれに続くルート証明書になります。

    5. 現在のデータベースのURLを取得する

    heroku config 
    

    次に、DATABASE_URLプロパティを探します

    1. 新しい証明書ファイルを使用するようにデータベースの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"
    
    1. 変更をコミットして、Herokuに再デプロイします。


    1. TSQLでnull以外の主キーを使用するのはなぜですか?

    2. MySQL:bigint Vs int

    3. Mac OS XからMySQLをどのようにアンインストールしますか?

    4. ステートメントが閉じられた後は操作は許可されません