AKTUALISIEREN

AKTUALISIEREN

Ich habe versucht zu lernen, wie man SSL mit Apache 2.0 unter Windows mit mod_ssl einrichtet. Ich habe sichergestellt, dass sich die Datei mod_ssl.so im Modulverzeichnis befindet und die Konfigurationsdatei im conf-Verzeichnis (httpd-ssl.conf) enthalten ist, und habe das Modul aktiviert, indem ich die Option LoadModule für mod_ssl.so auskommentiert habe.

Ich habe ein selbstsigniertes Zertifikat erstellt und sowohl die CRT-Datei als auch die Schlüsseldatei im Conf-Verzeichnis abgelegt.

Die Informationen in meiner SSL-Konfigurationsdatei sehen wie folgt aus:

<VirtualHost _default_:443>
ServerAdmin [email protected]
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
ServerName localhost:443
ServerAlias localhost:443
SSLEngine on
SSLEnable
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCertificate "D:/Dev-Ops/apache/Apache2/conf/server.key"
</VirtualHost>

Ich bin sicher, dass ich hier etwas falsch mache (ich bin ein Neuling bei Apache und all diesen Dingen). Momentan erhalte ich eine Fehlermeldung mit folgendem Inhalt:

Syntaxfehler in Zeile 8 von D:/Dev-Ops/apache/Apache2/conf/httpd-ssl.conf: Ungültiger Befehl „SSLEnable“, möglicherweise falsch geschrieben oder durch ein Modul definiert, das nicht in der Serverkonfiguration enthalten ist.

Meine Fragen sind:

  1. Muss OpenSSL auf meinem Computer installiert sein (ich habe es bereits installiert), damit mod_ssl funktioniert? Wenn ja, muss ich etwas konfigurieren, um sicherzustellen, dass beide miteinander kommunizieren?

  2. Was ist falsch an der obigen VirtualHost-Konfiguration? Und was kann ich tun, um sie richtig zu machen?

  3. Muss jede Version von Apache eine bestimmte Version von mod_ssl haben? Wenn ja, wo kann ich die binäre Datei mod_ssl.so herunterladen (es ist ziemlich mühsam, diese kleine Datei zu finden! Oder suche ich an den falschen Stellen!)? Wenn eine bestimmte Version von mod_ssl erforderlich ist, welche wäre die beste Version für Apache 2.0?

  4. Was verursacht den oben genannten Fehler? (Ich habe sichergestellt, dass meine Dateien am richtigen Ort sind, alle Konfigurationsanweisungen aktiviert sind usw.).

  5. Können Sie mir bitte eine gute Seite/ein gutes Buch/einen guten Link empfehlen, wo ich mehr über den Apache-Webserver und seine verschiedenen Anwendungen in Produktionsumgebungen erfahren kann?

Kann mir bitte bald jemand helfen? Ich wäre Ihnen für Ihre Hilfe sehr dankbar.

AKTUALISIEREN

Ich habe den virtuellen Host wie folgt reduziert:

<VirtualHost _default_:443> 
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCACertificatePath "D:/Dev-Ops/apache/Apache2/conf/"
</VirtualHost>

und ich erhalte die folgende Fehlermeldung im Browser:

Bildbeschreibung hier eingeben

Wenn ich dasselbe mit den folgenden Konfigurationsanweisungen versuche (mit aktivierter SSLEngine)

<VirtualHost _default_:443> 
DocumentRoot "D:/Dev-Ops/apache/Apache2/htdocs/secure/"
SSLEngine on
SSLCertificateFile "D:/Dev-Ops/apache/Apache2/conf/server.cert"
SSLCACertificatePath "D:/Dev-Ops/apache/Apache2/conf/"
</VirtualHost>

Ich erhalte die folgende Fehlermeldung in der Datei error.log:

[error] Init: SSLPassPhraseDialog builtin is not supported on Win32 (key file D:/Dev-Ops/apache/Apache2/conf/server.cert)

Ich habe ziemlich viel darüber recherchiert, wie man die Passphrase entfernt und das Zertifikat neu generiert und das vorhandene durch das neu erstellte ersetzt; aber das scheint bei mir nicht zu funktionieren! Ich frage mich langsam, ob die Version meines Mod-SSL das Problem ist (wie/wo kann ich herausfinden, ob es mit der Version meines Apache kompatibel ist! Und wenn es nicht kompatibel ist, wo kann ich die .so-Datei bekommen, um alles wieder in Ordnung zu bringen!)

Kann mir das bitte jemand erklären und mir helfen, dieses Problem zu lösen?

Antwort1

Muss OpenSSL auf meinem Computer installiert sein (ich habe es bereits installiert), damit mod_ssl funktioniert? Wenn ja, muss ich etwas konfigurieren, um sicherzustellen, dass beide miteinander kommunizieren?

Hängt davon ab, wie Sie es installiert haben. Sie sollten das MSI verwenden, das mit endet. -win32-x86-opensslDarin sollte alles enthalten sein, was Sie brauchen.

Was ist falsch an der obigen VirtualHost-Konfiguration? Und was kann ich tun, um sie richtig zu machen?

Entfernen SSLEnable, es ist keine gültige Anweisung.

Muss jede Version von Apache eine bestimmte Version von mod_ssl haben? Wenn ja, wo kann ich die binäre Datei mod_ssl.so herunterladen (es ist ziemlich mühsam, diese kleine Datei zu finden! Oder suche ich an den falschen Stellen!)? Wenn eine bestimmte Version von mod_ssl erforderlich ist, welche wäre die beste Version für Apache 2.0?

Sehen Sie sich die Antwort auf Ihre erste Frage an. Es hört sich an, als müssten Sie die Installation vom richtigen MSI aus durchführen. Die .soDatei enthält nicht alles, was Sie für eine funktionierende SSL-Einrichtung benötigen.

Was verursacht den oben genannten Fehler? (Ich habe sichergestellt, dass meine Dateien am richtigen Ort sind, alle Konfigurationsanweisungen aktiviert sind usw.).

Siehe Antwort auf die zweite Frage.

Können Sie mir bitte eine gute Seite/ein gutes Buch/einen guten Link empfehlen, wo ich mehr über den Apache-Webserver und seine verschiedenen Anwendungen in Produktionsumgebungen erfahren kann?

Die Dokumentation ist ein guter Ausgangspunkt.hier kann eine gute Ressource sein, und es gibt im Internet jede Menge Anleitungen dazu.

Antwort2

Lesen Sie diemod_ssl-Dokumentation. Sie werden sehen, dass SSLEnabledort keine Anweisung steht.

verwandte Informationen