it-swarm.com.de

So installieren Sie mod_ssl für Apache

Ich habe Apache httpd vor einiger Zeit installiert und bin kürzlich darauf zurückgekommen, um SSL einzurichten und es für mehrere verschiedene Tomcat-Server bereitzustellen.

Momentan habe ich zwei völlig getrennte Tomcat-Instanzen, die bis zu leicht unterschiedlichen Versionen (eine für Dev und eine für Demo) meine Web-App an zwei verschiedenen Ports bereitstellen. mydomain.com:8081 und mydomain.com:8082

Ich habe erfolgreich (im Januar) mod_jk verwendet, um httpd zu erhalten, damit dieselben Tomcat-Instanzen für http://www.mydomain.com:8090/dev und http://www.mydomain.com:8090/demo bereitgestellt werden (8090, da derzeit eine andere App auf 8080 über Jetty ausgeführt wird). Verwenden Sie den folgenden Code in httpd.conf.

LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel debug

<VirtualHost *:8090>
    JkMount /devd* tomcatDev
    JkMount /demo* tomcatDemo
</VirtualHost>

Ich versuche nicht, SSL zu aktivieren

Ich habe Folgendes zu httpd.conf hinzugefügt

Listen 443
<VirtualHost _default_:443>
    JkMount /dev* tomcatDev
    JkMount /demo* tomcatDemo
    SSLEngine on
    SSLCertificateFile "/opt/httpd/conf/localhost.crt"
    SSLCertificateKeyFile "/opt/httpd/conf/keystore.key"
</VirtualHost>

Aber wenn ich versuche, Apache mit "apachectl restart" neu zu starten (ja, nachdem ich diese andere App heruntergefahren habe, damit sie nicht mit https-Verbindungen spielt), erhalte ich ständig den Fehler.

"Ungültiger Befehl 'SSLEngine', möglicherweise falsch geschrieben oder von einem Modul definiert, das nicht in der Serverkonfiguration enthalten ist. Httpd wird nicht ausgeführt und versucht zu starten"

Ich habe in das httpd/modules-Verzeichnis geschaut und in der Tat gibt es kein mod_ssl, nur mod_jk.so und httpd.exp.

Ich habe versucht, yum zu verwenden, um mod_ssl zu installieren. Es heißt, es ist bereits installiert. In der Tat kann ich mod_ssl.so in/usr/lib/httpd/modules finden, aber dies ist NICHT der Pfad, unter dem ich httpd installiert habe. Dies ist/opt/httpd und tatsächlich enthält/usr/lib/httpd nichts als das Modulverzeichnis .

Kann mir jemand sagen, wie man mod_ssl für meinen installierten Speicherort von httpd richtig installiert, damit ich über diesen Fehler hinwegkomme:

6
Nick Foote

Die Zeile zum Laden von mod_ssl muss irgendwo zu Ihrer Apache-Konfiguration hinzugefügt werden - unter Debian/Ubuntu würden Sie nur Sudo a2enmod ssl ausführen, aber ich kenne das RedHat/Fedora/CentOS-Äquivalent nicht. Du brauchst eine Zeile wie:

LoadModule ssl_module /usr/lib/httpd/modules/mod_ssl.so
4
Mike Scott