Bevor Du beginnst erstelle bitte eine Subdomain namens ssl.
"domain.tld" muss durch deine Domain ersetzt werden!
"xxx.xxx.xxx.xxx" muss durch deine Server IP ersetzt werden!
Server Certifikate erstellen:
Code:
apt-get install openssl ssl-cert
mkdir /etc/apache2/ssl
openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.crt -keyout /etc/apache2/ssl/apache.key
Wichtig: der
Common Name muss zwingend als
ssl.tomain.tld eingetragen werden!
Code:
chmod 600 /etc/apache2/ssl/apache.crt
vi /etc/apache2/ports.conf
Listen 443 eintragen.
SSL Proxy einrichten:
Code:
vi /etc/apache2/sites-available/000-default-ssl
mit diesem Inhalt füllen:
Code:
<IfModule mod_rewrite.c>
<IfModule mod_ssl.c>
RewriteLock /var/lock/rewrite.lock
<VirtualHost xxx.xxx.xxx.xxx:443>
DocumentRoot "/var/www/virtual/domain.tld/ssl/htdocs"
ServerName ssl.domain.tld
ServerAdmin admin@domain.tld
SuexecUserGroup vu2000 vu2000
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/apache2/ssl/apache.crt
SSLCertificateKeyFile /etc/apache2/ssl/apache.key
# Rewrite-Engine einschalten fuer Umschreiben der URL
RewriteEngine on
# Logging ausschalten mit folgenden Zeilen:
#RewriteLog /dev/null
#RewriteLog 0
RewriteLog /var/log/apache2/sslproxy.log
RewriteLogLevel 1
RewriteMap lowercase int:tolower
# RewriteMap für die Domainnamen, welche SSL erhalten sollen
RewriteMap domaindb txt:/etc/apache2/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>
</IfModule>
</IfModule>
Code:
vi /etc/apache2/ssldomains
Hier erstellst Du für jede Domain welche den Proxy benutzen darf, folgenden Eintrag: (je Zeile ein Eintrag!)
Code:
domain.tld www.domain.tld
nun die module starten
Code:
a2enmod proxy
a2enmod proxy_http
a2enmod rewrite
a2enmod ssl
a2ensite 000-default-ssl
Code:
vi /etc/apache2/mods-enabled/proxy.conf
so ändern
Code:
<Proxy *>
AddDefaultCharset off
Order deny,allow
#Deny from all
Allow from ssl.domain.tld
</Proxy>
nun den Webserver reloaden
Code:
/etc/init.d/apache2 force-reload
jetzt kannst Du so testen ob dein Proxy läuft
Code:
https://ssl.domain.tld/domain.tld
Gruss CHBIE