Sprawiliśmy, że zadziałało to dla naszych wewnętrznych certyfikatów z podpisem własnym, nie używając adresów IP, ale nazw komputerów (+domen) jako CN i ustawień połączenia.
Więc umieść 'dbServer1.company.local'
jako CN dla certyfikatu serwera i użyj tego samego 'dbServer1.company.local'
adres jako część hosta DSN dla połączenia PDO. Jeśli chcesz, możesz po prostu użyć 'dbServer1'
ale upewnij się, że używasz go w obu miejscach.
To cię pobudzi do działania:
$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);
Zarządzamy własnym DNS, więc rozwiązujemy dbServer1.company.local
nie jest to problem, ale jeśli Twój serwer nie może go rozwiązać lub nie możesz/nie możesz zarządzać wpisem DNS, zhakuj coś takiego jak poniżej do swojego etc/hosts
plik:
10.5.5.20 dbServer1.company.local
lub
10.5.5.20 dbServer1