Можете да посочите някои mysql2 SSL параметри
чрез DATABASE_URL конфигурация. Те ще бъдат добавени като елементи към динамичната database.yml които се генерират по време на процеса на изграждане на Heroku и така те ще бъдат предадени, когато се създадат mysql2 връзки.
Единственият параметър, който трябва да предадете, за да работи това, е sslca (да не се бърка с sslcapath ).
1. Изтеглете сертификат за Amazon RDS CA и го свържете с приложението си.
(Редактиране) Amazon ще се въртящ се този сертификат през март 2015 г. Ще ви трябва новият файл от тази страница вместо от тази.
curl https://s3.amazonaws.com/rds-downloads/mysql-ssl-ca-cert.pem > ./config/amazon-rds-ca-cert.pem
2. Добавете файла към git и го преразпределете в Heroku.
3. Променете DATABASE_URL за да преминете sslca :
heroku config:add DATABASE_URL="mysql2://username:example@sqldat.com/dbname?sslca=config/amazon-rds-ca-cert.pem -a <app_id>
Относителният път до там е важен – вижте по-долу.
Това е! Сега, когато SSL работи, може да искате да наложите всички връзки с този потребител да позволяват само SSL:
GRANT USAGE ON dbname.* TO 'username'@'%' REQUIRE SSL;
Отстраняване на неизправности
Уверете се, че сте предали относителен път към sslca ! В противен случай rake assets:precompile може да се счупи със SSL грешка. Ако получите грешка като:
SSL connection error: ASN: bad other signature confirmation
или дори просто:
SSL connection error
...тогава вероятно нещо не е наред с начина, по който се препраща към файла със сертификата на CA.