sql >> Database >  >> RDS >> Mysql

php 5.x 7.x, ssl pdo-fout:Peer-certificaat CN=`someName' kwam niet overeen met verwacht CN='someIP'

We hebben het werkend gekregen voor onze interne zelfondertekende certificaten door geen IP-adressen maar machine(+domein)namen te gebruiken als de CN en verbindingsinstellingen.

Dus plaats 'dbServer1.company.local' als de CN voor het servercertificaat en gebruik dezelfde 'dbServer1.company.local' adres als het hostgedeelte van de DSN voor de PDO-verbinding. Als je wilt, kun je gewoon 'dbServer1' . gebruiken maar zorg ervoor dat je het op beide plaatsen gebruikt.

Dit zal je op weg helpen:

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

We beheren onze eigen DNS, dus het oplossen van dbServer1.company.local is geen probleem, maar als uw webserver het niet kan oplossen, of u de DNS-invoer niet kunt/kan beheren, hack dan iets als het volgende in uw etc/hosts bestand:

10.5.5.20 dbServer1.company.local

of

10.5.5.20 dbServer1



  1. Lijst met mooie permalinks en posttitel exporteren

  2. Hoe laat ik een MySQL-database volledig in het geheugen draaien?

  3. Hoe de HAVING- en ORDER BY-clausules in sql . te gebruiken

  4. Hoe YEAR() werkt in MariaDB