【发布时间】:2015-12-27 06:49:04
【问题描述】:
总结:PHP 在使用 Google Cloud SQL 提供的自签名证书时出错。
详细信息:我正在尝试使用 PHP 的 mysqli 库连接到 Google Cloud SQL 的 mysql 实例。
$db = mysqli_init();
mysqli_options ($db, MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, true);
$db->ssl_set('client-key.pem', 'client-cert.pem', 'server-ca.pem', NULL, NULL);
$query = mysqli_real_connect ($db, $host, $user, $pass, $dbname, 3306, NULL, MYSQLI_CLIENT_SSL);
据我了解,谷歌云允许自签名证书,我从那里下载了 client-key.pem、client-cert.pem、server-ca.pem 文件。
验证证书时,我从 PHP 收到以下错误:
mysqli_real_connect(): Peer certificate CN=`<project_name>' did not match expected CN=`<db_IP>'
根据我目前的研究,似乎我需要一种方法来禁用 Verify_Peer 检查,这显然是 PHP 不允许的。您能否验证这一点和/或提供一种通过 PHP 将 SSL 与 Google Cloud SQL 结合使用的方法?
谢谢。
【问题讨论】:
-
我正在寻找类似的东西 (stackoverflow.com/questions/8443618/…) 但对于 mysql。谢谢!
标签: php mysql ssl mysqli google-cloud-sql