Pour moi, cela avait à voir avec la rotation des certificats SSL RDS qui s'est produite le 3 avril 2015.
Cependant, dans mon cas, l'utilisation du certificat racine n'a pas fonctionné et j'ai également dû utiliser un certificat intermédiaire pour ma région. Détails :
-
Accédez à la console AWS rds et redémarrez votre instance RDS.
-
Téléchargez le nouveau certificat racine https://s3.amazonaws. com/rds-downloads/rds-ca-2015-root.pem . Placez-le dans le répertoire de configuration de votre application.
-
Téléchargez le certificat intermédiaire pour votre région de base de donnéesici . J'ai dû utiliser celui de l'est des États-Unis, mais vous devrez choisir celui de votre région.
-
C'est l'étape clé. Vous devez combiner le certificat intermédiaire et le certificat racine dans un seul fichier afin que le certificat intermédiaire soit au-dessus du certificat racine, formant une chaîne de certificats. Ouvrez le certificat intermédiaire à l'aide d'un éditeur de texte, copiez son contenu et collez-le dans config/rds-ca-2015-root.pem, en haut, au-dessus du certificat racine. Donc, une fois que vous avez terminé, config/rds-ca-2015-root.pem devrait être le certificat intermédiaire suivi du certificat racine, le tout dans ce fichier.
-
Obtenez l'URL de votre base de données actuelle
heroku config
puis recherchez la propriété DATABASE_URL
- Mettez à jour l'URL de votre base de données pour utiliser le nouveau fichier de certificat. Tout ce que vous devriez avoir à changer est le nom du certificat (puisqu'il s'appelle désormais 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"
- Valider les modifications et redéployer sur Heroku.