使用SSL将laravel 5连接到AWS RDS

时间:2016-08-02 02:04:35

标签: php mysql laravel ssl amazon-rds

我正在阅读this questionthis article

'your_connection' => array(
  'driver'  => 'mysql',
  'host'    => $host,
  'database'  => $database,
  'username'  => $username,
  'password'  => $password,
  'charset'   => 'utf8',
  'collation' => 'utf8_unicode_ci',
  'prefix'  => '',
  'options' => array(
    PDO::MYSQL_ATTR_SSL_KEY => $cert_base . '/client-key.pem',
    PDO::MYSQL_ATTR_SSL_CERT => $cert_base . '/client-cert.pem',
    PDO::MYSQL_ATTR_SSL_CA => $cert_base . '/ca-cert.pem'
  ),
),

据我所知,PDO::MYSQL_ATTR_SSL_CA可以从here

下载

我不确定PDO::MYSQL_ATTR_SSL_KEYPDO::MYSQL_ATTR_SSL_CERT

我读过类似this

的内容
openssl genrsa 2048 > ca-key.pem
openssl req -sha1 -new -x509 -nodes -days 3650 -key ca-key.pem > ca-cert.pem

这似乎是我需要做的,有人可以确认吗?

1 个答案:

答案 0 :(得分:8)

要在Laravel中通过SSL连接到AWS RDS,您只需做一些事情。

从以下网址下载rds-combined-ca-bundle.pem文件:

https://s3.amazonaws.com/rds-downloads/rds-combined-ca-bundle.pem

然后将它放在您的配置中:

'options' => array(    
    PDO::MYSQL_ATTR_SSL_CA => $cert_base . '/rds-combined-ca-bundle.pem'
 ),

它不需要另外两个键连接。