Ich richte eine Entwicklungsumgebung mit PHP ein, die eine Verbindung zu MongoDB über SSL herstellt. Der Server verwendet ein selbstsigniertes Zertifikat und ich verwende die MongoDB PHP-Erweiterung (nicht die ältere Mongo-Erweiterung). Server ist CentOS 7, mongod ist 3.2.6. Client ist OS X mit PHP 5.6.10 (MAMP). Mein mongod.conf hat folgende:PHP Verbindung zu MongoDB mit SSL
net:
ssl:
mode: requireSSL
PEMKeyFile: /data/ssl/mongodb.pem
allowConnectionsWithoutCertificates: true
ich meine Verbindung überprüft arbeitet ohne SSL und überprüfte ich von der Konsole auf dem Server verbinden kann. Mein PHP-Verbindung sieht wie folgt aus:
$mongo = new MongoDB\Driver\Manager("mongodb://" . $mongo_user . ":" . $mongo_pass . "@" . $mongoHost . "/" . $mongo_db, array(
'ssl' => true,
'sslAllowInvalidCertificates' => true,
'host' => $mongoHost
)
);
Beim Versuch, eine Verbindung ich folgendes erhalten:
SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Wer mit dieser keine Erfahrung? Ich hatte den Eindruck, dass sslAllowInvalidCertificates die Verbindung zulassen würde, obwohl das Zertifikat selbstsigniert ist (vorausgesetzt, dass das selbstsignierte Zertifikat die fehlgeschlagene Verifizierung ist).
Danke!
Siehe verwandten Artikel [Google Groups mongodb-Benutzer: PHP-Verbindung über SSL] (https://groups.google.com/forum/#!topic/mongodb-user/zmirzLQWmL0) –