Vi fick det att fungera för våra interna självsignerade certifikat genom att inte använda IP-adresser utan datornamn (+domän) som CN och anslutningsinställningar.
Så sätt 'dbServer1.company.local'
som CN för servercertifikatet och använd samma 'dbServer1.company.local'
adress som värddelen av DSN för PDO-anslutningen. Om du vill kan du bara använda 'dbServer1'
men se till att du använder den på båda ställena.
Detta kommer att få dig igång:
$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);
Vi hanterar vår egen DNS så vi löser dbServer1.company.local
är inte ett problem men om din webbserver inte kan lösa det du eller du inte kan/kan hantera DNS-posten, hacka sedan in något i stil med följande till dina etc/hosts
fil:
10.5.5.20 dbServer1.company.local
eller
10.5.5.20 dbServer1