SSL Zertifikat für eine Subdomain

Yoshi4ever

New Member
Ich habe auf meinen Windows Server (IIS6) eine Subdomain eingerichtet worauf sich PHPMyAdmin befindet. Dies funktioniert auch einwandfrei. Um die Sicherheit zu erhöhen habe ich zusätzlich auch noch ein SSL Zertifikat erstellt und auf diese Subdomain eingerichtet. Funktioniert auch!

Wenn man nun die Domain https://phpmyadmin.domain.de aufruft kommt man auch (mit Passwort) zur Datenbank.

Jetzt aber mein Problem: Ruft man z.b. https://subdomain.domain.de auf, kommt man AUCH zu PHPMyAdmin? Ich will aber dieses Zertifikat NUR für diese Subdomain haben und nicht für andere!

Ich habe nämlich vor, auch noch andere Subdomains mit anderen SSL Zertifikaten zu bestücken. Dies geht aber nicht weil der Port (443) ja schon genutzt wird.

Unter IIS habe ich nur die Einstellungen das der Hostheaderwert auf dieses Verzeichnis zeigt.

Wie kann ich nun IIS sagen dass das Zertifikat (Port) nur für diese Subdomain verwendet werden soll?
 
Wie Roger Wilco jetzt sicher sagen würde: "DNS-Namen sind etwas für Leute, die sich keine langen Zahlen merken können."
Will sagen: Alle Requests auf die IP werden beantwortet. Welche Domain dabei aufgerufen wurde ist im Zweifelsfall total egal.

Deshalb: Siehe meine erste Antwort...
 
Eine weitere Möglichkeit wäre (sofern es der ISS unterstützt) statt die ip zu wechseln einfach den Port zu wechseln, damit lässt sich dann auch ein weiteres Zertifikat nutzen, sogar genausoviele wie der Server freie Ports hat. Allerdings musst du dann damit leben, dass der Port in der Url auftaucht. Aber wenns sowieso nur für dich selbst ist, dann ist das ja nicht so schlimm.
 
Wenn die Subdomains alle unterhalb der gleichen Domain liegen, dann kann das via Wildcard-Zertifikat realisiert werden.

*.doamin.tld
 
@XioniX: Habe ich schon ausprobiert. Leider ohne Ergebnis.

@mr_brain: Genau das will ich eben nicht. Derzeit wird das Zertifikat für alle Sub-/Domains genutzt. Selbst mit anderen Domains (aber gleicher IP) kann ich immer noch das Zertifikat nutzen. Ich will es aber nur für eine Subdomain.
 
Ich versteh nicht wo das Problem liegt.
Mach kann doch im IIS einfach eine neue Webkonfig aufmachen.
Es gibt dann die Default-Webseite, welche auf eine IP zeigt. Dort trägst du den Hostheader ein. Es können auch mehrere Hostheader auf eine IP eingetragen werden.

Dann noch eine weitere Webseite anlegen, die dann auf eine weitere IP zeigen muss. Dort trägst du ebenfalls einen Hostheader ein. Und dort konfigurierst du auch das Zertifikat rein.
 
Last edited by a moderator:
Wenn du nur eine IP hast, dann kannst du auch nur ein HTTPS-Web konfigurieren. Dies kann aber parallel zum HTTP betrieben werden.

Ich habe mal ein Beispiel aufgesetzt und ein paar Screenshots angehangen.
Ich habe nur eine IP-Adresse, die 172.16.164.10.

In der "Default Web Site" habe ich auf der verfügbaren IP-Adresse 3 Hostheader konfiguriert. Das DocumentRoot zeigt z.B. auf c:\websites\default

MOD: Grafik entfernt.

Das würde bedeuten, wenn ich mit [noparse]http://domain.de oder http://www.domain.de oder http://subdomain.domain.de[/noparse] bei dem Server aufschlage, dann würde der IIS mir die hier hinterlegte Webseite ausliefern.
Soweit ist alles klar?

Nun geht es einen Schritt weiter.
Ich habe eine weitere Website auf dem IIS konfiguriert. Diese habe ich "phpmyadmin" genannt. Das ist nur eine reine Beschreibung, hat nichts zu sagen. Hier zeigt das DocumentRoot jedoch auf c:\websites\phpmyadmin

MOD: Grafik entfernt.

Hier habe ich nun einen weiteren Hostheader auf der einzig verfügbaren IP-Adresse angelegt. Dieser lautet phpmyadmin.domain.de. Somit liefert der IIS jetzt auf http://phpmyadmin.domain.de diese Seite aus.
Soweit müsste es bei dir auch funktionieren.

Jetzt hinterlegst du auf der Site "phpmyadmin" das SSL-Zerti. SSL sollte dann schon automatisch aktiviert sein, ansonsten kannst du es auch hier wie im Beispiel nochmal manuell aktivieren.
Und somit nimmt der IIS nun auch ein https://phpmyadmin.domain.de an, da der Hostheader auf dieses Sub-Web zeigt und dort auch 443 aktiviert ist.

Ein Problem bekommst du, wenn du nun noch weitere Websites mit SSL ausstatten möchtest. Dazu brauchst du weitere IP-Adressen.

Ansonsten schöne Grüsse ins Outback. :cool:
 

Attachments

  • iis6_hostheader.jpg
    iis6_hostheader.jpg
    112.9 KB · Views: 598
  • iis6_hostheader_subweb.jpg
    iis6_hostheader_subweb.jpg
    57 KB · Views: 507
Last edited by a moderator:
Danke fuchzga für diese sehr ausführlichen Erklärung. Habe es bei mir genauso.

Aber! Jetzt ruf doch einmal: https://domain.de auf? Und? Dort wird das gleiche SSL Zertifikat hergenommen wie bei der Subdomain. Was zwar sicherlich schön ist aber für mich nicht von Vorteil. Eher von Nachteil weil das Zertifikat dadurch automatisch nicht mehr gültig ist und man zu der Subdomain weitergeleitet wird (wo man ohne Passwort nicht reinkommt).

Aber nochmal zu der Sache mit den verschiedenen Ports: Ich habe es, wie schon oben gepostet, getestet aber bekomme keine Antwort vom Server unter einem anderem Port. Gibt es dafür eine Spezielle Einstellung im IIS?

Habe den SSL Port bei der Website im IIS geändert (444) und dann natürlich noch meiner Firewall (die standardmäßig alles blockt :rolleyes:) gesagt das sie diesen Port öffnen soll. Bei allen anderen Ports (z.b. FTPS) hat dies einwandfrei funktioniert.

Sollte das nicht gehen muss ich mir wohl eine neue IP holen aber ich denke das wird schwierig bei nem VServer :mad:
 
Danke fuchzga für diese sehr ausführlichen Erklärung. Habe es bei mir genauso.

Aber! Jetzt ruf doch einmal: https://domain.de auf? Und?
Ähm? Meinst du das wörtlich? Dir gehört die Domain domain.de? Oder wie soll ich das aufrufen?

Probier es doch einfach mal ohne SSL.
Ein reines HTTP muss schon funktionieren. Du steuerst alles über die Host-Header. Wenn du hier schon einen Fehler hast, dann brauchst du mit HTTPS nicht weiter machen.
 
das mit domain.de war nur ein Beispiel an deinem Beispiel. Und ein ziemlich lustiger Zufall das die Domain auch SSL unterstützt :eek:

Also HTTP funktioniert bei mir natürlich einwandfrei auch mit mehreren Domains/Subdomains. Das ist alles kein Problem.

Beispiel: Meine Wildcard-Domain Fabian Klose ist auch unter Fabian Klose erreichbar. Wenn man jetzt aber beide Domains mit HTTPS aufruft muss man beides mal ein Passwort eingeben (dies ist so weil man für die eigentliche Subdomain für dass das Zertifikat ausgestellt hat ein Passwort verlangt)
 
Ich verstehe gar nicht, warum der IIS überhaupt auf blafasel332.domain.de reagiert? Oder hast du dies als Host-Header eingetragen?
Irgendwas scheint bei deinem IIS noch verstellt.
Denn wenn man auf HTTPS an den IIS kommt, wird anscheinend egal welcher Host-Header aufgerufen wird, immer die SSL-Seite genommen. :confused:
 
Habe meine DNS Einstellungen so eingestellt das jede Domain/Subdomain auf meinen Server (IP) zeigt. Von dem her ist das auch richtig.

Aber wenn ich SSL nutze dann wird bei jeder Domain/Subdomain (egal ob die im IIS expliziert auf ein anderes Verzeichnis zeigt) nur zu der einen Subdomain weitergeleitet. Verstehe ich aber nicht, da ich nirgendswo gesagt habe das SSL immer auf diese Website zeigen soll? Macht es scheinbar automatisch ...
 
Hallo,

Ruft man z.b. https://subdomain.domain.de auf, kommt man AUCH zu PHPMyAdmin?
ja klar. ;-)
Ich will aber dieses Zertifikat NUR für diese Subdomain haben und nicht für andere!
dann rufe andere Subdomains nicht mit https auf.
Ich habe nämlich vor, auch noch andere Subdomains mit anderen SSL Zertifikaten zu bestücken. Dies geht aber nicht weil der Port (443) ja schon genutzt wird.
Du brauchst für jedes Zertifikat eine eigene IP oder (als Notlösung) einen eigenen Port.

Bei https wird auch die URL (und somit die Subdomain) verschlüsselt übertragen, folglich muß erst das Zertifikat ausgewählt werden und dann kann die Subdomain ermittelt werden. Dann ist aber das Zertifikat bereits ausgewählt und kann folglich nicht nach der Subdomain ausgewählt werden.

Bitte entweder echte eigene Domain angeben, example.org verwenden (ist für Beispiele ausdrücklich freigegeben) oder eine offensichtlich unzulässige Domain. Der Inhaber von domain<punkt>de freut sich ganz bestimmt riesig über die zahlreichen Aufrufe die mit seiner Homepage nix zu tun haben.
 
dann rufe andere Subdomains nicht mit https auf.
tolle Antwort :confused:

> Du brauchst für jedes Zertifikat eine eigene IP oder (als Notlösung) einen eigenen Port.

Fabian said:
Aber nochmal zu der Sache mit den verschiedenen Ports: Ich habe es, wie schon oben gepostet, getestet aber bekomme keine Antwort vom Server unter einem anderem Port. Gibt es dafür eine Spezielle Einstellung im IIS?

Habe den SSL Port bei der Website im IIS geändert (444) und dann natürlich noch meiner Firewall (die standardmäßig alles blockt ) gesagt das sie diesen Port öffnen soll. Bei allen anderen Ports (z.b. FTPS) hat dies einwandfrei funktioniert.

Bitte entweder echte eigene Domain angeben, example.org verwenden (ist für Beispiele ausdrücklich freigegeben) oder eine offensichtlich unzulässige Domain. Der Inhaber von domain<punkt>de freut sich ganz bestimmt riesig über die zahlreichen Aufrufe die mit seiner Homepage nix zu tun haben.
siehe Beitrag davor, habe den Domainnamen genommen weil ihn fuchzga als Beispiel genannt hat!
 
Hallo,

tolle Antwort

leider die einzig sinnvolle.

Sobald eine Domain oder Subdomain auf deine ServerIP auflöst und mit https (auf dem Standardport) aufgerufen wird antwortet der Server immer mit dem gleichen Zertifikat.

Das kannst Du auch mit mehreren Zertifikaten auf mehreren Ports nicht verhindern.

Verhindern läßt es sich nur mit mehreren IPs, benötigt werden so viele wie Zertifikate und eine dazu für alle (Sub-)Domains die nicht mit https aufgerufen werden sollen, damit bei denen nicht ein falsches Zertifikat kommt wenn man sie doch mit https aufruft.

Zusätzliche IPs sind grundsätzlich auch bei Vservern möglich, kommt nur darauf an, ob der Provider sie anbietet (und was er dafür haben will).
 
ok. Trotzdem Danke für die vielen Antworten!

mehrer IPs bei Hosteurope sind leider bei einem VServer nicht möglich. Schade.
 
Back
Top