Dla mnie miało to związek z rotacją certyfikatów RDS SSL, która miała miejsce 3 kwietnia 2015 r.
Jednak w moim przypadku samo użycie certyfikatu głównego nie zadziałało i musiałem również użyć certyfikatu pośredniego dla mojego regionu. Szczegóły:
-
Przejdź do konsoli AWS rds i zrestartuj instancję RDS.
-
Pobierz nowy certyfikat główny https://s3.amazonaws. com/rds-downloads/rds-ca-2015-root.pem . Umieść go w katalogu konfiguracyjnym swojej aplikacji.
-
Pobierz certyfikat pośredni dla swojego regionu bazy danychtutaj . Musiałem użyć wschodniego USA, ale będziesz musiał wybrać ten dla swojego regionu.
-
To jest kluczowy krok. Należy połączyć certyfikat pośredni i certyfikat główny w jeden plik, aby certyfikat pośredni znajdował się nad certyfikatem głównym, tworząc łańcuch certyfikatów. Otwórz certyfikat pośredni za pomocą edytora tekstu, skopiuj jego zawartość i wklej do config/rds-ca-2015-root.pem na górze, nad certyfikatem głównym. Tak więc, gdy skończysz, config/rds-ca-2015-root.pem powinien być certyfikatem pośrednim, po którym następuje certyfikat główny, wszystko w tym pliku.
-
Uzyskaj aktualny adres URL bazy danych
heroku config
a następnie poszukaj właściwości DATABASE_URL
- Zaktualizuj adres URL bazy danych, aby używać nowego pliku certyfikatu. Wszystko, co powinieneś zmienić, to nazwa certyfikatu (od teraz nazywa się 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"
- Zatwierdź zmiany i wdróż ponownie w Heroku.