За мен това беше свързано с ротацията на RDS SSL сертификат, която се случи на 3 април 2015 г.
В моя случай обаче само използването на root сертификат не работи и трябваше да използвам междинен сертификат и за моя регион. Подробности:
-
Отидете в AWS rds конзолата и рестартирайте своя RDS екземпляр.
-
Изтеглете новия основен сертификат https://s3.amazonaws. com/rds-downloads/rds-ca-2015-root.pem . Поставете го в конфигурационната директория на приложението си.
-
Изтеглете междинния сертификат за региона на вашата база даннитук . Трябваше да използвам източния на САЩ, но вие ще трябва да изберете този за вашия регион.
-
Това е ключовата стъпка. Трябва да комбинирате междинния сертификат и основния сертификат в един файл, така че междинният сертификат да е над основния сертификат, образувайки верига от сертификати. Отворете междинния сертификат с помощта на текстов редактор, копирайте съдържанието му и го поставете в 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.