Mysql
 sql >> база данни >  >> RDS >> Mysql

Получаване на Mysql2::Грешка (грешка при SSL връзката:ASN:лошо потвърждение на други подписи) в приложение Heroku с AWS RDS

За мен това беше свързано с ротацията на RDS SSL сертификат, която се случи на 3 април 2015 г.

В моя случай обаче само използването на root сертификат не работи и трябваше да използвам междинен сертификат и за моя регион. Подробности:

  1. Отидете в AWS rds конзолата и рестартирайте своя RDS екземпляр.

  2. Изтеглете новия основен сертификат https://s3.amazonaws. com/rds-downloads/rds-ca-2015-root.pem . Поставете го в конфигурационната директория на приложението си.

  3. Изтеглете междинния сертификат за региона на вашата база даннитук . Трябваше да използвам източния на САЩ, но вие ще трябва да изберете този за вашия регион.

  4. Това е ключовата стъпка. Трябва да комбинирате междинния сертификат и основния сертификат в един файл, така че междинният сертификат да е над основния сертификат, образувайки верига от сертификати. Отворете междинния сертификат с помощта на текстов редактор, копирайте съдържанието му и го поставете в config/rds-ca-2015-root.pem, отгоре, над основния сертификат. Така че, след като сте готови, config/rds-ca-2015-root.pem трябва да бъде междинният сертификат, последван от основния сертификат, всичко в този файл.

  5. Вземете URL адреса на текущата си база данни

heroku config 

и след това потърсете свойството DATABASE_URL

  1. Актуализирайте URL адреса на вашата база данни, за да използвате новия файл със сертификат. Всичко, което трябва да промените, е името на сертификата (тъй като сега се нарича 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"
  1. Отвържете промените и преразпределете в Heroku.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как умишлено да заключите MySQL ред, така че дори SELECT да върне грешка?

  2. Как да импортирате XML файл в таблицата на базата данни MySQL с помощта на XML_LOAD(); функция

  3. mysql_result() очаква параметър 1 да бъде ресурс, даден е булев

  4. предоставеният аргумент не е валиден ресурс за MySQL резултат

  5. Импортирайте единична база данни от --all-databases дъмп