Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cakephp+;RDS+;SSL:证书验证失败_Ssl_Cakephp_Rds - Fatal编程技术网

Cakephp+;RDS+;SSL:证书验证失败

Cakephp+;RDS+;SSL:证书验证失败,ssl,cakephp,rds,Ssl,Cakephp,Rds,我有一个Cakephp3.8网站,连接到RDS数据库。我正在尝试使用SSL数据库连接 我从AWS那里拿到了pem证书。我已经创建了一个可以访问我的数据库的测试用户,该用户被设置为需要SSL 我可以通过命令行使用我的用户成功连接到数据库: mysql-u ssl-user-p-h xxxxx.xxxxx.ap-southest-2.rds.amazonaws.com--ssl-ca=。/rds-ca-2019-root.pem 我已经用CakePHP设置了数据库连接,如下所示: 'Datasour

我有一个Cakephp3.8网站,连接到RDS数据库。我正在尝试使用SSL数据库连接

我从AWS那里拿到了pem证书。我已经创建了一个可以访问我的数据库的测试用户,该用户被设置为需要SSL

我可以通过命令行使用我的用户成功连接到数据库:
mysql-u ssl-user-p-h xxxxx.xxxxx.ap-southest-2.rds.amazonaws.com--ssl-ca=。/rds-ca-2019-root.pem

我已经用CakePHP设置了数据库连接,如下所示:

'Datasources' => [
    'default' => [
        'className' => 'Cake\Database\Connection',
        'driver' => 'Cake\Database\Driver\Mysql',
        'persistent' => false,
        'host' => 'xxxxx.xxxxx.ap-southeast-2.rds.amazonaws.com',
        'username' => 'sl-user',
        'password' => 'xxxxxxx',
        'database' => 'xxxxxxx',
        'ssl_ca' => '/var/www/rds-ca-2019-root.pem',
        'encoding' => 'utf8',
        'timezone' => 'UTC',
        'flags' => [],
        'cacheMetadata' => true,
        'log' => false,
        'quoteIdentifiers' => true,
        'url' => env('DATABASE_URL', null),
    ],
],
使用上述设置,连接失败,出现以下错误:

Error: [PDOException] SQLSTATE[HY000] [2002]
Caused by: [PDOException] PDO::_construct(): SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_sertificate:certificate verify failed (/var/www/vendor/cakephp/cakephp/src/Database/Driver.php:92)

你知道为什么CakePHP无法连接吗?

实际上意识到RDS服务器正在运行MariaDB 10.3.x。AWS为MariaDB提供了具体的文件:

我的解决方案是使用组合证书:

您可能还需要提供
ssl\u密钥
ssl\u证书
文件?我假设命令行会自动从某个地方提取这些信息。