sql >> Database teknologi >  >> RDS >> Mysql

Får Mysql2::Error (SSL-forbindelsesfejl:ASN:dårlig anden signaturbekræftelse) på Heroku-appen med AWS RDS

For mig havde dette at gøre med RDS SSL-certifikatrotationen, der skete den 3. april 2015.

Men i mit tilfælde virkede det ikke bare at bruge rodcertifikatet, og jeg var også nødt til at bruge et mellemcertifikat for min region. Detaljer:

  1. Gå ind i AWS rds-konsollen og genstart din RDS-instans.

  2. Download det nye rodcertifikat https://s3.amazonaws. com/rds-downloads/rds-ca-2015-root.pem . Sæt den i konfigurationsmappen for din app.

  3. Download det mellemliggende certifikat for din databaseregionher . Jeg var nødt til at bruge den østlige USA, men du bliver nødt til at vælge den til din region.

  4. Dette er nøgletrinet. Du skal kombinere det mellemliggende certifikat og rodcertifikatet i én fil, så det mellemliggende certifikat er over rodcertifikatet og danner en certifikatkæde. Åbn det mellemliggende certifikat ved hjælp af en teksteditor, kopier dets indhold, og indsæt det i config/rds-ca-2015-root.pem, øverst over rodcertifikatet. Så når du er færdig, bør config/rds-ca-2015-root.pem være det mellemliggende certifikat efterfulgt af rodcertifikatet, alt sammen i denne fil.

  5. Hent din nuværende database-url

heroku config 

og se derefter efter egenskaben DATABASE_URL

  1. Opdater din database-URL for at bruge den nye certifikatfil. Alt du skal ændre er navnet på certifikatet (da det nu hedder 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. Overfør ændringerne og geninstaller til Heroku.


  1. Kald til udefineret funktion mysql_query()

  2. Sådan forvandler du et json-array til rækker i postgres

  3. MySQL:Størrelse på decimal datatype

  4. brug kolonneværdi som kolonnenavn mysql