与SSL的PDO连接返回“SSL3_GET_RECORD:错误的版本号”

时间:2016-12-16 18:40:08

标签: php mysql pdo openssl rackspace-cloud

我正在尝试使用PDO和SSL连接到Rackspace Cloud MySQL数据库。我的连接字符串是:

$(document).ready(function(){
     $("input").on("keydown", function (e) 
        {
            return e.which !== 32;
        }); 
})

此错误消息“PDO :: __ construct():SSL操作失败,代码为1. OpenSSL错误消息: 错误:1408F10B:SSL例程:SSL3_GET_RECORD:错误的版本号“

$dbh = new PDO($serverAddress, $username, $password, array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true, PDO::MYSQL_ATTR_SSL_CA =>'rackspace.pem', PDO::MYSQL_ATTR_SSL_KEY => 'key.pem', PDO::MYSQL_ATTR_SSL_CERT => 'cert.pem' )); 是提供here的Rackspace CA文件。 rackspace.pemkey.pem是自签名证书(与cert.pem具有相同的FQDN)。此连接无需SSL即可成功运行。

我在我的服务器的Apache配置中启用了SSLv3(不确定这是否与此相关,因为它是PDO-calling-openssl问题)。

我可以通过mysql客户端连接到数据库实例。在那里,我看到SSL版本是TLSv1(想知道这是否是问题的一部分,不知何故?)。

Database SSL Version

我读过的有关此错误消息的内容(某些示例 - Error 0x1408F10B: “SSL3_GET_RECORD:wrong version number” with PayPal SDKhow to solve SSL3_GET_RECORD:wrong version number error?)与PDO库无关。

非常感谢任何帮助或方向!谢谢!

0 个答案:

没有答案