S
server4downs
Guest
Gerne trage ich zu dieser Sektion nochmals etwas bei.
Diesmal soll es wohl ein sog. SSL-Proxy sein.
Dieses HowTo basiert auf die nichtmehr ganz so informativen 1&1ServerFAQs, die zu guten alten Zeiten solche HowTos noch offerierten.
###
Wie immer gilt: ICH ÜBERNEHME KEINE HAFTUNG FÜR DIESES HOWTO!
Wie richte ich mehrere SSL-Domains ein? (https)
Mit dem Apache Webserver kann man nur einen SSL VirtualHost pro IP-Adresse einrichten. Aus diesem Grund bieten wir Ihnen hier ein HowTo, mit welchem Sie Ihren Root-Server so einrichten können, dass alle Domains auf dem Root-Server auch über das HTTPS Protokol erreichbar sind, obwohl Sie nur eine IP-Adresse haben. Wegen der Eigenschaften des SSL-Protokols ist es nicht möglich, die Domains direkt per https://domain.de/ aufzurufen, sondern nur über den SSL-Proxy: https://ssl.proxydomain.de/domain.de/. Für die Domain des Proxy müssen Sie dann ein SSL-Zertifikat erstellen, wie in dem Artikel Zertifikate, Signaturen, Schlüssel (HowTo im Nirvana inzwischen) und ähnliches beschrieben.
Die Einrichtung der auf dem Root-Server konnektierten Domains mit SSL wird mit Hilfe der Apachemodule mod_rewrite und mod_proxy realisiert. Beide Module sind bei der Standardinstallation bereits installiert.
1. Confixx benutzt bereits den einzigen verfügbaren SSL VirtualHost, also müssen Sie diesen deaktivieren, indem Sie vor folgende Zeilen in der Konfigurationsdatei /etc/httpd/httpd.conf ein "#"-Zeichen einfügen (Kommentarzeichen).
Hinweis:
Achten Sie hierbei darauf, dass Sie den VirtualHost Eintrag mit der Zeile "SSLEngine on" deaktivieren!
2. Erstellen Sie eine neue Datei, welche die Konfiguration des SSL-Proxy enthält:
Datei /etc/httpd/sslproxy.conf:
Bitte achten Sie darauf, dass Sie unter "ssl.domain.de" eine Ihrer
Domains angeben, Ihre IP eintragen anstatt "999.888.777.666" und dass das Verzeichnis
"/home/www/web1/html/sslproxy" existiert.
3. Jetzt müssen Sie die Datei /etc/httpd/ssldomains in folgendem Format erstellen:
Diese Konfiguration baut eine sichere Verbindung zum Browser auf (HTTPS) und leitet alle Anfragen über das normale HTTP-Protokol an den Root-Server weiter. Da dieser sich auf dem gleichen Rechner befindet, werden die Daten nicht unverschlüsselt über das Internet übertragen.
Ein kleines Beispiel:
https://ssl.domain.de/meinssl/
baut eine verschlüsselte Verbindung zwischen dem Root-Server und Ihrem Rechner auf und leitet dann die Anfrage an
http://www.meinessldomain.de
weiter.
4. Nun müssen Sie noch dafür sorgen, dass diese Datei in die Konfiguration des Apache einbezogen wird. Dazu fügen Sie folgende Zeile ganz am Ende der Konfigurationsdatei /etc/httpd/httpd.conf an:
5. Nachdem Sie den Webserver neu gestartet haben, können Sie alle Domains, welche auf dem Root-Server konnektiert sind, über https://ssl.domain.de/www.domain.de/ erreichen. Dies können Sie sowohl aus dem Confixx-Administratormenü unter "Einstellungen->Update-Intervalle: Webserver Reload: Sofort ausführen" vornehmen oder über den SSH-Zugang mit folgendem Befehl:
S4D würde lieber:
oder ähnliches benutzen
Hinweis:
Sie können damit auch Confixx über HTTPS erreichen, wenn Sie folgende Zeile in die Datei /etc/httpd/ssldomains eintragen:
© 2004 1&1 Internet AG
© 2005 Server4Downs @ SSF
###
Natürlich müssen alle Pfade und Domains/URLs entsprechend angepasst werden. Sollte aber mit jedem Server funktionieren. Vor ca. 1Jahr hatte ich solch ein Proxy auch einmal auf meinem damaligen vServer Basic (RedHat 9).
Im Anhang kann man sich alles nochmals übersichtlicher als PDF reinziehen.
Good luck and a lot of fun,
wishes u.... s4d
Diesmal soll es wohl ein sog. SSL-Proxy sein.
Dieses HowTo basiert auf die nichtmehr ganz so informativen 1&1ServerFAQs, die zu guten alten Zeiten solche HowTos noch offerierten.
###
Wie immer gilt: ICH ÜBERNEHME KEINE HAFTUNG FÜR DIESES HOWTO!
Wie richte ich mehrere SSL-Domains ein? (https)
Mit dem Apache Webserver kann man nur einen SSL VirtualHost pro IP-Adresse einrichten. Aus diesem Grund bieten wir Ihnen hier ein HowTo, mit welchem Sie Ihren Root-Server so einrichten können, dass alle Domains auf dem Root-Server auch über das HTTPS Protokol erreichbar sind, obwohl Sie nur eine IP-Adresse haben. Wegen der Eigenschaften des SSL-Protokols ist es nicht möglich, die Domains direkt per https://domain.de/ aufzurufen, sondern nur über den SSL-Proxy: https://ssl.proxydomain.de/domain.de/. Für die Domain des Proxy müssen Sie dann ein SSL-Zertifikat erstellen, wie in dem Artikel Zertifikate, Signaturen, Schlüssel (HowTo im Nirvana inzwischen) und ähnliches beschrieben.
Die Einrichtung der auf dem Root-Server konnektierten Domains mit SSL wird mit Hilfe der Apachemodule mod_rewrite und mod_proxy realisiert. Beide Module sind bei der Standardinstallation bereits installiert.
1. Confixx benutzt bereits den einzigen verfügbaren SSL VirtualHost, also müssen Sie diesen deaktivieren, indem Sie vor folgende Zeilen in der Konfigurationsdatei /etc/httpd/httpd.conf ein "#"-Zeichen einfügen (Kommentarzeichen).
Code:
#<VirtualHost 999.888.777.666:443>
# SSLEngine on
# ServerName confixx.p12345678.pureserver.de
# DocumentRoot /home/confixx/html
# ScriptAlias /cgi-bin/ /home/confixx/html/cgi-bin/
# CustomLog /var/log/httpd/confixx/confixx.p10050188.pureserver.de_ssl_access
# ErrorLog /var/log/httpd/confixx/confixx.p10050188.pureserver.de_ssl_error
# SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
# SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
# #User confixx
# #Group confixx
#</VirtualHost>
Hinweis:
Achten Sie hierbei darauf, dass Sie den VirtualHost Eintrag mit der Zeile "SSLEngine on" deaktivieren!
2. Erstellen Sie eine neue Datei, welche die Konfiguration des SSL-Proxy enthält:
Datei /etc/httpd/sslproxy.conf:
Code:
#################
# Lokaler SSL-Proxy, welcher https://domain zu http://domain umleitet
#################
RewriteLock /var/lock/rewrite.lock
<VirtualHost 999.888.777.666:443>
DocumentRoot "/home/www/web1/html/sslproxy"
ServerName ssl.domain.de
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/httpd/ssl.crt/server.crt
SSLCertificateKeyFile /etc/httpd/ssl.key/server.key
SSLEngine on
# Rewrite-Engine einschalten fuer Umschreiben der URL
RewriteEngine on
# Logging ausschalten mit folgenden Zeilen:
#RewriteLog /dev/null
#RewriteLog 0
RewriteLog /var/log/httpd/sslproxy.log
RewriteLogLevel 1
RewriteMap lowercase int:tolower
# RewriteMap für die Domainnamen, welche SSL erhalten sollen
RewriteMap domaindb txt:/etc/httpd/ssldomains
RewriteRule ^/icons/(.+) - [L]
# Fuer MS Internet Explorer ab Version 6
RewriteRule ^/w3c/(.+) - [L]
# Kundendomain in Kleinbuchstaben umwandeln (fuer Datenbank-Lookup)
RewriteRule ^/([^/]+)/(.*) /${lowercase:$1}/$2 [S=1]
RewriteRule ^/(.*) /${lowercase:$1}
# Per Proxy Verbindung zu http://kundendomain/... aufbauen.
# Wahlweise auch http://www.kundendomain/...
# Falls Kundendomain ohne abschliessenden "/" angegeben,
# "/" anhaengen und Redirect erzwingen, d.h. Browser soll es
# mit "kundendomain/" nochmal versuchen.
# Für den Fall, dass der "Pfad" nicht in der domaindb gefunden wurde,
# ssl.domain/Pfad anzeigen.
RewriteRule ^/www\.([^/]+)/(.*) /${domaindb:$1|%{HTTP_HOST}/$1}/$2 [S=2]
RewriteRule ^/([^/]+)/(.*) /${domaindb:$1|%{HTTP_HOST}/$1}/$2 [S=1]
RewriteRule ^/(.+) /$1/ [R,L]
RewriteRule ^/(.*) http://$1 [P,L]
</VirtualHost>
Domains angeben, Ihre IP eintragen anstatt "999.888.777.666" und dass das Verzeichnis
"/home/www/web1/html/sslproxy" existiert.
3. Jetzt müssen Sie die Datei /etc/httpd/ssldomains in folgendem Format erstellen:
Code:
#Pfad -> Domain
meinedomain.de www.meinedomain.de
anderedomain.de www.anderedomain.de
meinssl www.meinessldomain.de
Ein kleines Beispiel:
https://ssl.domain.de/meinssl/
baut eine verschlüsselte Verbindung zwischen dem Root-Server und Ihrem Rechner auf und leitet dann die Anfrage an
http://www.meinessldomain.de
weiter.
4. Nun müssen Sie noch dafür sorgen, dass diese Datei in die Konfiguration des Apache einbezogen wird. Dazu fügen Sie folgende Zeile ganz am Ende der Konfigurationsdatei /etc/httpd/httpd.conf an:
Code:
Include /etc/httpd/sslproxy.conf
Code:
p12345678:~ # killall -HUP httpd
Code:
server:~ # /etc/init.d/apache2 restart
Hinweis:
Sie können damit auch Confixx über HTTPS erreichen, wenn Sie folgende Zeile in die Datei /etc/httpd/ssldomains eintragen:
Code:
confixx.p12345678.pureserver.de confixx.p12345678.pureserver.de
© 2004 1&1 Internet AG
© 2005 Server4Downs @ SSF
###
Natürlich müssen alle Pfade und Domains/URLs entsprechend angepasst werden. Sollte aber mit jedem Server funktionieren. Vor ca. 1Jahr hatte ich solch ein Proxy auch einmal auf meinem damaligen vServer Basic (RedHat 9).
Im Anhang kann man sich alles nochmals übersichtlicher als PDF reinziehen.
Good luck and a lot of fun,
wishes u.... s4d