Hallo,
ich habe mal wieder eine ganz spezielle Frage, die - wenn gelöst - sicher in die Rubrik Tipps & Tricks passt:
SNI ist ja ganz nett, aber es gibt Fälle, da benötigt eine Domain eine exklusive IP. Und exklusive IPs werden langsam knapp. Um die mit Sicherheit aufkommende Rückfrage gleich zu beantworten, warum nicht nur SNI, hier ein ganz spezieller Fall: WebDAV! Der WebDAV-Client in Windows 7 (und folgende) kommt mit WebDAV-Verbindungen auf HTTPS auf SNI nicht zurecht. Der Rest darf ergoogled werden.
Ich habe mir nun folgendes überlegt, um Kunden exklusive SSL-Verbindungen zu ermöglichen und dabei die wertvollen IPs zu sparen. Ich bin mir aber nicht wirklich sicher, wie ich das umsetzen kann, noch ob es überhaupt einen Weg gibt. Nach mehreren Stunden Google-Verhör frage ich mal hier in die Runde, da ich mir vorstellen kann, dass die Kollegen und Mitbewerber ggf. ähnliche Ideen haben.
Meine Idee war nun, dass ich einen Proxy vorschalte und den DNS-Record der Domain auf eben diesen Proxy zeigen lasse. Der Proxy soll dann - abhängig vom angeforderten Hostnamen - in das interne Netz auf die entsprechende, private IP weiterleiten. Per HTTP funktioniert das auch ausgezeichnet. Ein Apache mit mod_proxy* nimmt die Anfragen an. Die .conf dazu sieht so aus:
(wir nehmen an, 12.34.56.78 ist die IP des Proxy und auch der SubDomain proxytest.test.xy. Die IP 10.1.1.8 ist die IP, die in LiveConfig dem Kunden und der Domain zugeordnet ist)
<VirtualHost 12.34.56.78:80>
ServerName proxytest.test.xy
ProxyPreserveHost On
ProxyPass / http://10.1.1.8:80/
ProxyPassReverse / http://10.1.1.8:80/
</VirtualHost>
Rufe ich jetzt also die Domain auf, bekomme ich die Seite angezeigt.
Aber via HTTPS bekomme ich das nicht hin. Ich habe es so verstanden, dass mod_proxy_connect genau dafür da ist, solche Verbindungen quasi zu tunneln und dem Client das vom Zielserver ausgelieferte Zertifikat zu servieren. Ich kann auch per netstat -ant sehen, das eine Verbindung auf Port 443 vom Browser zum Proxy aufgebaut wird, aber keine Verbindung vom Proxy zu 10.1.1.8. Nöscht! Null!
Die letzte Version meiner zahllosen Versuche und Variationen sieht so aus:
<VirtualHost 12.34.56.78:443>
ServerName proxytest.test.xy
SSLProxyEngine On
ProxyRequests Off
ProxyPreserveHost on
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
SSLRequireSSL
</Proxy>
ProxyPass / http://10.1.1.8:443/
ProxyPassReverse / http://10.1.1.8:443/
</VirtualHost>
Alles anzeigen
Hat vielleich jemand eine Idee?