Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Określ SSL dla połączenia z zewnętrzną bazą danych MySQL Heroku

Możesz określić niektóre parametry mysql2 SSL przez DATABASE_URL konfig. Zostaną dodane jako elementy do dynamicznego database.yml które są generowane podczas procesu budowania Heroku, więc zostaną przekazane podczas tworzenia połączeń mysql2.

Jedynym parametrem, który musisz przekazać, aby to zadziałało, jest sslca (nie mylić z sslcapath ).

1. Pobierz certyfikat Amazon RDS CA i dołącz go do swojej aplikacji.

(Edytuj) Amazon będzie obrót ten certyfikat w marcu 2015 r. Będziesz potrzebować nowego pliku z tej strony zamiast z tej.

curl https://s3.amazonaws.com/rds-downloads/mysql-ssl-ca-cert.pem > ./config/amazon-rds-ca-cert.pem

2. Dodaj plik do git i wdróż ponownie w Heroku.

3. Zmień DATABASE_URL przekazać sslca :

heroku config:add DATABASE_URL="mysql2://username:[email protected]/dbname?sslca=config/amazon-rds-ca-cert.pem -a <app_id>

Tam względna ścieżka jest ważna — patrz poniżej.

Otóż ​​to! Teraz, gdy SSL działa, możesz wymusić, aby wszystkie połączenia z tym użytkownikiem zezwalały tylko na SSL:

GRANT USAGE ON dbname.* TO 'username'@'%' REQUIRE SSL;

Rozwiązywanie problemów

Upewnij się, że przekazujesz ścieżkę względną do sslca ! W przeciwnym razie rake assets:precompile może się zepsuć z błędem SSL. Jeśli pojawi się błąd, taki jak:

SSL connection error: ASN: bad other signature confirmation

a nawet po prostu:

SSL connection error

...wtedy prawdopodobnie jest coś nie tak z odniesieniem do pliku certyfikatu CA.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. flaga „aktywna” czy nie?

  2. Optymalne ustawienia MySQL dla zapytań dostarczających duże ilości danych?

  3. Korzystanie z osi czasu google chart api z php - inicjalizacja DataTable

  4. Kiedy uruchamiam program JPA nie tworzy tabeli w MySQL

  5. Czy w standardowym języku SQL zdefiniowano „Gdzie jest” z wieloma kolumnami?