Mysql
 sql >> Base de données >  >> RDS >> Mysql

php 5.x 7.x, erreur ssl pdo :le certificat homologue CN=`someName' ne correspond pas au CN='someIP' attendu

Nous l'avons fait fonctionner pour nos certificats auto-signés internes en n'utilisant pas d'adresses IP mais des noms de machine (+domaine) comme CN et paramètres de connexion.

Donc, mettez 'dbServer1.company.local' comme CN pour le certificat du serveur et utilisez le même 'dbServer1.company.local' comme partie hôte du DSN pour la connexion PDO. Si vous le souhaitez, vous pouvez simplement utiliser 'dbServer1' mais assurez-vous de l'utiliser aux deux endroits.

Cela vous aidera :

$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);

Nous gérons notre propre DNS afin de résoudre dbServer1.company.local n'est pas un problème, mais si votre serveur Web ne peut pas le résoudre ou si vous ne gérez pas/ne pouvez pas gérer l'entrée DNS, alors piratez quelque chose comme ce qui suit dans votre etc/hosts fichier :

10.5.5.20 dbServer1.company.local

ou

10.5.5.20 dbServer1