Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chỉ định SSL cho kết nối cơ sở dữ liệu MySQL bên ngoài Heroku

Bạn có thể chỉ định một số thông số SSL mysql2 thông qua DATABASE_URL cấu hình. Chúng sẽ được thêm dưới dạng các mục vào database.yml động được tạo trong quá trình xây dựng Heroku và vì vậy chúng sẽ được chuyển khi kết nối mysql2 được tạo.

Thông số duy nhất bạn cần chuyển để điều này hoạt động là sslca (đừng nhầm với sslcapath ).

1. Tải xuống Chứng chỉ Amazon RDS CA và kết hợp nó với ứng dụng của bạn.

(Chỉnh sửa) Amazon sẽ xoay vòng chứng chỉ này vào tháng 3 năm 2015. Bạn sẽ cần tệp mới từ trang đó thay vì tệp này.

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

2. Thêm tệp vào git và triển khai lại vào Heroku.

3. Thay đổi DATABASE_URL để vượt qua sslca :

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

Đường dẫn tương đối ở đó là quan trọng — xem bên dưới.

Đó là nó! Bây giờ bạn có SSL đang hoạt động, bạn có thể muốn thực thi rằng tất cả các kết nối với người dùng đó chỉ cho phép SSL:

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

Khắc phục sự cố

Đảm bảo chuyển một đường dẫn tương đối đến sslca ! Nếu không, rake assets:precompile có thể bị hỏng do lỗi SSL. Nếu bạn gặp lỗi như:

SSL connection error: ASN: bad other signature confirmation

hoặc thậm chí chỉ:

SSL connection error

... thì có thể có điều gì đó không ổn với cách tham chiếu tệp cert 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. chọn bản ghi trùng lặp và đếm bản ghi từ dấu phẩy được phân tách trong mysql

  2. Làm cách nào để thay đổi kiểu dữ liệu Cột Bảng trên nhiều hơn 1 cột?

  3. Làm cách nào để thay đổi kiểu VARCHAR thành DATETIME bằng ALTER trong MySQL?

  4. Nối 2 bảng trong SELECT (MYSQL / PHP)

  5. 3 cách để tìm hàng có chứa chữ hoa trong MySQL