我正在阅读this question和this 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_KEY
和PDO::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
这似乎是我需要做的,有人可以确认吗?
答案 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'
),
它不需要另外两个键连接。