MySQLのサーバでphp5.3が動作しています。新しいwebserverはphp7.1(php5.3から移行)を実行しています。私がsslとMysqlサーバを接続しようとすると動作しません。SSLによるMySQLの接続が動作していませんPDO
try {
$dbh = new PDO($dsn, $user, $password, array(PDO::MYSQL_ATTR_SSL_KEY => '/etc/mysql/client-key.pem',
PDO::MYSQL_ATTR_SSL_CERT => '/etc/mysql/client-cert.pem',
PDO::MYSQL_ATTR_SSL_CA => '/etc/mysql/ca-cert.pem')
);
echo "Connestion established";
} catch (PDOException $e) {
echo 'Connection failed: ' . $e->getMessage();
}
Connection failed: SQLSTATE[HY000] [2002]
PDO::__construct(): SSL operation failed with code 1. OpenSSL Error messages: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
しかし、私は、接続、その作業罰金からSSLブロックを削除します。私は何が起こっているのか分からない。サーバーとクライアントのバージョンが一致していない可能性があります。私は古い公開鍵と秘密鍵を使用しています。
mysqlクライアントとサーバーのバージョンが一致しないためですか?
PS:Webサーバーでのみphp7をアップグレードしました。
phpのエラー報告は何ですか? SSLで有効な証明書であり、configで有効になっていますか? –
@ Fred-ii- try-catchを使用しているので、 'php'エラーの何もありません。証明書を変更したことはありません。古いWebサーバーから新しいWebサーバーにコピー・ペーストするだけです。 –
@ Fred-ii-:古いwebserverはapache2と新しい1つのnginxを実行していました。 nginxでmysql-sslを有効にする場所は? –