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

时间:2011-01-14 20:34:13

标签: php ssl amazon-ec2 mysqli amazon-rds

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

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

我遇到的问题是亚马逊只提供一个密钥文件(more info),而我在SSL上使用MySQLi找到的所有示例都包含至少3个文件:

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

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

2 个答案:

答案 0 :(得分:4)

事实证明这并不像我想象的那么复杂。打开错误报告级别会在我的代码中发现一个我没有抓到的错误。使用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);

答案 1 :(得分:1)