SSL für eine Kundendomain - HTTPS aller Virtual Hosts leitet auf diesen Inhalt

  • Hallo zusammen,


    im Titel steht eigentlich mein Problem schon kurz beschrieben, hier noch mal etwas ausführlicher:
    Ich habe bei mir im I-MSCP (aktueller Git-Master) mehrere Kundenaccounts laufen, für eine Kundendomain gibt es ein SSL-Zertifikat von Thawte.
    Soweit klappt alles, die Domain kann per https aufgerufen werden. Mein Problem ist nun aber, dass eben auch alle anderen Domains, die sich auf dem Server auf der gleichen IP befinden per https aufgerufen werden können. Es kommt natürlich zunächst ein Sicherheitshinweis, da die aufgerufene Domain nicht mit der Domain des Zertifikats übereinstimmt. Wenn man diese Ausnahmeregel (Beispiel Firefox) aber hinzfügt, dann wird die Website angezeigt. Aber dann eben die "falsche" Website, nämlich die der SSL-Domain.


    Gibt es hier irgendeine Möglichkeit, den Aufruf zu "sperren" oder ähnliches?


    Danke für eure Hilfe!

  • Dein Problem ist, das Du die erste IP Deines Servers der SSL Domain zugewiesen hast.
    Dein Server schaut beim SSL nach welcher virtuelle Host diese IP mit 443 verknüpft bekommen hat. Alle anderen Kunden laufen auch auf dieser IP und somit fragt der Apache genau diese IP ab.
    Da der richtige SSL Kunde diese IP in seinem virtuellen Host besitzt passiert genau das was bei Dir Auftritt.
    Du musst Deinem SSL Kunden einfach eine andere IP geben und schon passiert das nicht mehr!

  • es gibt situationen wo das mit einer" 2ten ip" nicht möglich ist(keine zubekommen od. anderes)
    jedoch durch SNI usw. kein problem darstellt.


    nur als ein bsp. könnte sich "flancrest" die anderen domains gegen einen https aufruf per .htaccess umbiegen:
    Bsp.:
    RewriteEngine on
    RewriteCond %{SERVER_PORT} ^443$
    RewriteRule (.*) http://%{HTTP_HOST}/$1 [L]
    (genau-so-gut könnte man auch http aufrufe auf https umleiten)


    (obiges könnte sogar eine option sein dieses std. mässig in i-mscp einzubauen(als option))

  • Sorry für die verspätete Antwort und danke für eure Antworten! :)


    TheCry, du hast recht, es läuft ein SSL Zertifikat auf der Haupt-IP, die natürlich auch weitere virtuelle Hosts beinhaltet. Die Logik ist auch klar, dass dadurch, dass natürlich nur ein virtueller Host auf 443 lauscht (der für die Domain mit dem SSL Zertifikat), alle anderen Domains bei dieser Konfiguration den Aufruf dieses virtuellen Hosts "übernehmen".


    Mein Gedanke war eben, ob es nicht eine Möglichkeit gibt, die anderen virtuellen Hosts trotz Zuordnung zur selben IP irgendwie grundsätzlich für https zu "sperren".
    Ich kann mir ein Stück weit z.B. so behelfen, dass ich alle Einträge aus der normalen sites-available.conf in meine ssl.conf kopiere als virtuelle Hosts, eben dort lauschend auf 443. Dadurch habe ich wenigstens den korrekten Pfad für den SSL-Aufruf der anderen Domains. Auf Dauer ist das natürlich immer viel händischer Aufwand, gerade wenn neue Kundenaccounts dazukommen.


    Der Ansatz von Cool ist interessant, hier muss ich gestehen, stand ich etwas mit Brett vorm Kopf, denn umgekehrt habe ich das schon öfter verwendet (um eine HTTPS-Verbindung zu erzwingen), auf den naheliegenden Gedanken, das einfach umzudrehen, bin ich gar nicht gekommen...
    Diese Option als Möglichkeit fest in i-mscp einzubauen, fände ich auch einen sehr interessanten Ansatz!