繁体   English   中英

如何通过SSL通过SSL连接到Amazon MySQL RDS实例

[英]How to connect to an Amazon MySQL RDS instance via PHP over SSL

我有一个运行WordPress站点的EC2实例。 WordPress数据库位于RDS实例上。 我想通过SSL连接到数据库。

根据我的阅读,WordPress开箱即用的MySQL扩展不支持SSL。 所以,我已经安装了一个使用MySQLi的WordPress数据库脚本,它支持SSL。

我遇到的问题是亚马逊只提供一个密钥文件( 更多信息 ),我可以通过SSL使用MySQLi找到的所有示例包括至少3个文件:

$db = mysqli_init();
$db->ssl_set('server-key.pem','server-cert.pem','cacert.pem',NULL,NULL); 

我可以从mysql命令行应用程序连接到我的db over SSL。 鉴于我只有1个文件,谁能告诉我需要做些什么才能让PHP的MySQLi扩展工作?

事实证明这并不像我想象的那么复杂。 打开错误报告级别会在我的代码中发现一个我没有抓到的错误。 使用ssl_set这种方式有效:

$db = mysqli_init();
$db->ssl_set(NULL,NULL,'/path/to/mysql-ssl-ca-cert.pem',NULL,NULL);
$db->real_connect($dbhost,$dbuser,$dbpassword,$dbname);

试试这个:

$db = mysqli_init();
$db->ssl_set(null, 'https://rds.amazonaws.com/doc/mysql-ssl-ca-cert.pem', null, null, null);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM