Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

php 5.x 7.x, ssl pdo error:Peer certificate CN=`someName' não corresponde ao esperado CN='someIP'


Conseguimos trabalhar para nossos certificados autoassinados internos não usando endereços IP, mas nomes de máquina (+domínio) como as configurações de CN e conexão.

Então, coloque 'dbServer1.company.local' como o CN para o certificado do servidor e use o mesmo 'dbServer1.company.local' endereço como a parte do host do DSN para a conexão PDO. Se quiser, você pode simplesmente usar 'dbServer1' mas certifique-se de usá-lo em ambos os lugares.

Isso fará com que você vá:
$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);

Gerenciamos nosso próprio DNS, resolvendo dbServer1.company.local não é um problema, mas se o seu servidor da Web não puder resolvê-lo ou você não / não puder gerenciar a entrada DNS, invada algo como o seguinte em seu etc/hosts Arquivo:
10.5.5.20 dbServer1.company.local

ou
10.5.5.20 dbServer1