Apache/PHP/Symphony wird in meiner mittleren Schicht für Authentifizierung und Routing verwendet. Eine Anfrage kommt über http, wenn die Anfrage authentifiziert die Person, die die Anfrage stellt autorisiert ist, macht dann einen Aufruf an einen Backend-Web-Service über https. Der Back-End-Webdienst ist über HTTPS mit einem selbstsignierten Zertifikat. Ich kann direkt auf den Back-End-Dienst zugreifen und meine Zertifikatsinformationen über den Chrome-Inspektor einsehen. Wenn ich die Anfrage über die URL direkt an das Backend stelle, funktioniert alles. Wenn ich versuche, durch die mittlere Schicht zu gehen, erhalte ich eine Antwort zurück, dass ein 504:So erhalten Sie Apache, um ein selbstsigniertes Cert zu akzeptieren, das von Javas KeyTool erstellt wurde
{"code":504,"message":"A network communication error has occurred","error":{"code":77,"message":"SSL: can\u0027t load CA certificate file \/etc\/pki\/tls\/certs\/ca-bundle.crt"}}
erzeugen ich das Zertifikat:
/usr/local/jboss-eap-6.4/standalone/configuration/.keystore
den Befehl:
keytool -genkey -keyalg RSA -alias jboss -keystore .keystore -storepass changeit -validity 9999 -keysize 2048
Ich aktualisierte auch meine Standalone.xml, um th zu verweisen e-Datei über:
<ssl name="ssl" key-alias="jboss" password="changeit" certificate-key-file="/usr/local/jboss-eap-6.4/standalone/configuration/.keystore" protocol="TLSv1" verify-client="false"/>
Meine dev Maschine ist OSX.
Es scheint, dass Apache oder Symfony das Zertifikat in /etc/pki/tls/certs/ca-bundle.cert
sucht, das eine Datei ist, die nicht auf meinem System existiert. Die Suche nach "pki" in /etc/apache2/httpd.conf
führt zu keinem Ergebnis.
Wie konfiguriere ich apache
/symfony2
diesem Zertifikat zu vertrauen, oder gibt es eine andere Möglichkeit, dieses Zertifikat global zu vertrauen?