关于php:使用SSL将laravel 5连接到AWS RDS

Connect laravel 5 to AWS RDS with SSL

我正在阅读这个问题和这篇文章。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
'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可以从此处下载

我不确定PDO::MYSQL_ATTR_SSL_KEYPDO::MYSQL_ATTR_SSL_CERT

我读到了这样的内容

1
2
openssl genrsa 2048 > ca-key.pem
openssl req -sha1 -new -x509 -nodes -days 3650 -key ca-key.pem > ca-cert.pem

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


要在Laravel中通过SSL连接到AWS RDS,您只需要做几件事。

从以下位置下载rds-combined-ca-bundle.pem文件:

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

然后按如下所示将其放置在您的配置中:

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

不需要其他两个键即可连接。