IPアドレスではなく、CNおよび接続設定としてマシン(+ドメイン)名を使用することにより、内部の自己署名証明書で機能するようになりました。
したがって、'dbServer1.company.local'
を配置します サーバー証明書のCNとして、同じ'dbServer1.company.local'
を使用します PDO接続のDSNのホスト部分としてのアドレス。必要に応じて、'dbServer1'
を使用できます。 ただし、必ず両方の場所で使用してください。
これでうまくいきます:
$pdo_options = array(
PDO::MYSQL_ATTR_SSL_KEY => 'path/to/client-key.pem',
PDO::MYSQL_ATTR_SSL_CERT => 'path/to/client-cert.pem',
PDO::MYSQL_ATTR_SSL_CA => 'path/to/ca.pem'
);
PDO::__construct('mysql:host=dbServer1.company.local;dbname=someDB','someUser', 'somePass', $pdo_options);
独自のDNSを管理しているため、dbServer1.company.local
を解決します これは問題ではありませんが、Webサーバーで解決できない場合、またはDNSエントリを管理できない/できない場合は、etc/hosts
に次のようなものをハックしてください。 ファイル:
10.5.5.20 dbServer1.company.local
または
10.5.5.20 dbServer1