Pro mě to mělo co do činění s rotací RDS SSL certifikátu, ke které došlo 3. dubna 2015.
V mém případě však nefungovalo pouhé použití kořenového certifikátu a musel jsem použít i zprostředkující certifikát pro svůj region. Podrobnosti:
-
Přejděte do konzoly AWS rds a restartujte instanci RDS.
-
Stáhněte si nový kořenový certifikát https://s3.amazonaws. com/rds-downloads/rds-ca-2015-root.pem . Vložte jej do konfiguračního adresáře vaší aplikace.
-
Stáhněte si zprostředkující certifikát pro svou oblast databázezde . Musel jsem použít východ USA, ale budete si muset vybrat ten pro svůj region.
-
Toto je klíčový krok. Je třeba zkombinovat zprostředkující certifikát a kořenový certifikát do jednoho souboru tak, aby se zprostředkující certifikát nacházel nad kořenovým certifikátem a vytvořil řetězec certifikátů. Otevřete prostřední certifikát pomocí textového editoru, zkopírujte jeho obsah a vložte jej do config/rds-ca-2015-root.pem nahoře nad kořenový certifikát. Takže až budete hotovi, config/rds-ca-2015-root.pem by měl být zprostředkujícím certifikátem následovaným kořenovým certifikátem, vše v tomto souboru.
-
Získejte adresu URL aktuální databáze
heroku config
a poté vyhledejte vlastnost DATABASE_URL
- Aktualizujte adresu URL databáze, aby používala nový soubor certifikátu. Vše, co byste měli změnit, je název certifikátu (protože se nyní nazývá 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"
- Potvrdit změny a znovu je nasadit do Heroku.