mysql 使用SSL将laravel 5连接到AWS RDS

cigdeys3  于 5个月前  发布在  Mysql
关注(0)|答案(2)|浏览(84)

我在阅读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


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

falq053o

falq053o1#

要在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'
 ),

字符串
它不需要另外两把钥匙来连接。

p1tboqfb

p1tboqfb2#

RDS Proxy and cluster endpoint SSL connection with Laravel 7 application

从以下链接下载pem https://www.amazontrust.com/repository/AmazonRootCA1.pem

1.将以下代码添加到您的数据库配置php文件中

'options' => [
            PDO::MYSQL_ATTR_SSL_CA => base_path('AmazonRootCA1.pem')
        ],

字符串

2.我已通过以下链接在RDS集群上启用SSLhttps:docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql-ssl-connections.html#MySQL.Concepts.SSLSupport
3.通过更新代理配置启用Transport Layer Security

相关问题