Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Tentukan SSL untuk koneksi database MySQL eksternal Heroku

Anda dapat menentukan beberapa parameter SSL mysql2 melalui DATABASE_URL konfigurasi Mereka akan ditambahkan sebagai item ke database.yml dinamis yang dihasilkan selama proses pembuatan Heroku, sehingga akan diteruskan saat koneksi mysql2 dibuat.

Satu-satunya parameter yang harus Anda lewati agar ini berfungsi adalah sslca (jangan bingung dengan sslcapath ).

1. Unduh Sertifikat CA Amazon RDS dan gabungkan dengan aplikasi Anda.

(Sunting) Amazon akan berputar sertifikat ini pada bulan Maret 2015. Anda akan memerlukan file baru dari halaman itu alih-alih yang ini.

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

2. Tambahkan file ke git, dan terapkan ulang ke Heroku.

3. Ubah DATABASE_URL untuk melewati sslca :

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

Jalur relatif di sana penting—lihat di bawah.

Itu dia! Sekarang setelah SSL berfungsi, Anda mungkin ingin menerapkan bahwa semua koneksi dengan pengguna tersebut hanya mengizinkan SSL:

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

Pemecahan Masalah

Pastikan untuk meneruskan jalur relatif ke sslca ! Jika tidak, rake assets:precompile mungkin rusak dengan kesalahan SSL. Jika Anda menerima pesan kesalahan seperti:

SSL connection error: ASN: bad other signature confirmation

atau bahkan hanya:

SSL connection error

...maka kemungkinan ada yang salah dengan cara file sertifikat CA direferensikan.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Baca file teks dan transfer konten ke database mysql

  2. Memasukkan ???? di database mysql saat memposting dari kode c # dalam bahasa Persia

  3. Bantuan dengan:ERROR 1025 (HY000):Kesalahan saat mengganti nama .... (errno:150)

  4. Cara Memberikan Semua Keistimewaan pada Database di MySQL

  5. Bagaimana menemukan data yang tidak ada dari Tabel lain dengan BERGABUNG?