使用SSL将laravel 5连接到AWS RDS

ken*_*ter 3 php mysql ssl amazon-rds laravel

我正在读这个问题这篇文章.

'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'
  ),
),
Run Code Online (Sandbox Code Playgroud)

据我了解,PDO::MYSQL_ATTR_SSL_CA可以从这里下载

我不知道PDO::MYSQL_ATTR_SSL_KEYPDO::MYSQL_ATTR_SSL_CERT

我读的东西像这样

openssl genrsa 2048 > ca-key.pem
openssl req -sha1 -new -x509 -nodes -days 3650 -key ca-key.pem > ca-cert.pem
Run Code Online (Sandbox Code Playgroud)

这似乎是我需要做的,有人能证实吗?

Rya*_*lle 9

要在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'
 ),
Run Code Online (Sandbox Code Playgroud)

它不需要另外两个键来连接.