Voor mij had dit te maken met de RDS SSL-certificaatrotatie die plaatsvond op 3 april 2015.
In mijn geval werkte alleen het basiscertificaat echter niet en moest ik ook een tussencertificaat voor mijn regio gebruiken. Details:
-
Ga naar de AWS rds-console en start uw RDS-instantie opnieuw op.
-
Download het nieuwe rootcertificaat https://s3.amazonaws. com/rds-downloads/rds-ca-2015-root.pem . Zet het in de configuratiemap van uw app.
-
Download het tussenliggende certificaat voor uw databaseregiohier . Ik moest de oostelijke VS gebruiken, maar je zult degene voor je regio moeten kiezen.
-
Dit is de belangrijkste stap. U moet het tussencertificaat en het basiscertificaat in één bestand combineren, zodat het tussencertificaat zich boven het basiscertificaat bevindt en een certificaatketen vormt. Open het tussencertificaat met een teksteditor, kopieer de inhoud en plak ze in config/rds-ca-2015-root.pem, bovenaan, boven het basiscertificaat. Dus als je klaar bent, zou config/rds-ca-2015-root.pem het tussenliggende certificaat moeten zijn, gevolgd door het rootcertificaat, allemaal in dit bestand.
-
Haal uw huidige database-url op
heroku config
en zoek vervolgens naar de eigenschap DATABASE_URL
- Update uw database-URL om het nieuwe certificaatbestand te gebruiken. Het enige dat u hoeft te veranderen, is de naam van het certificaat (aangezien het nu rds-ca-2015-root.pem heet)
heroku
config:add DATABASE_URL="mysql2://DB_NAME:[email protected]_URL/DB_NAME?sslca=config/rds-ca-2015-root.pem"
- Voeg de wijzigingen door en implementeer opnieuw in Heroku.