2011-01-14 49 views
3

私は、WordPressサイトを実行しているEC2インスタンスを持っています。 WordPressデータベースはRDSインスタンス上にあります。 SSLを介してdbに接続したい。SSL経由でPHP経由でAmazon MySQL RDSインスタンスに接続する方法

私が読んだところでは、WordPressがそのまま使用するMySQL拡張機能はSSLをサポートしていません。ですから、SSLをサポートするMySQLiを使用するWordPressのdbスクリプトをインストールしました。

私が遭遇した問題は、Amazonが唯一のキーファイル(more info)を供給し、SSLを介して、少なくとも3つのファイルが含まれるすべての例は、私がMySQLiをを使用して見つけることができるということです。私は接続することができるよ

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

mysqlコマンドラインからSSLを介して私のデータベースに。私は1ファイルしか持っていないので、PHPのMySQLi拡張を動作させるために何が必要なのか教えていただけますか?

+0

これらのパラメータをスキップするとどうなりますか? – profitphp

+0

Amazonのドキュメントでは、同じ地域内でトラフィックがAmazonのネットワークから離れることはないと述べています。これには、特定の地域内のすべてのアベイラビリティゾーン間のトラフィックが含まれます。 –

+0

また、「MySQLiを使用するWordPress dbスクリプト」の名前/リンクは何ですか?ありがとう! –

答えて

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

これを試してみてください:

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