Einrichten von SSL auf mehreren Websites in IIS mit gemeinsamer Konfiguration
In diesem Artikel wird beschrieben, wie Secure Sockets Layer (SSL) auf mehreren Websites in Microsoft-Internetinformationsdienste (IIS) mit gemeinsamer Konfiguration eingerichtet wird.
Ursprüngliche Produktversion: Internetinformationsdienste 7.0, 7.5
Ursprüngliche KB-Nummer: 2548832
Zusammenfassung
Angenommen, Sie möchten die gemeinsam genutzte Konfiguration für zwei IIS-Server einrichten. Für den Zweck dieses Beispiels heißen sie Server A und Server B. Sie werden zwei verschiedene Websites haben, hier "Site1" und "Site2". Beide Websites verwenden ihre eigenen dedizierten IP-Adressen, wie unten dargestellt:
Server A --> Site1 --> 10.10.10.1
Server A --> Site2 --> 10.10.10.2
Server B --> Site1 --> 10.10.10.3
Server B --> Site2 --> 10.10.10.4
Jetzt konfigurieren Sie Server A & B für die gemeinsame Konfiguration, es kommt jedoch zu einer eindeutigen Situation, wenn es um die Websitebindungen geht. Die Konfiguration von Websitebindungen sieht in der Regel wie im folgenden Beispiel in einer applicationHost.config Datei aus:
<site name="Site1" id="1">
<application path="/" applicationPool="Site1">
<virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot" />
</application>
<bindings>
<binding protocol="http" bindingInformation="10.10.10.1:www.contoso.com" />
<binding protocol="https" bindingInformation="10.10.10.1:443:" />
</bindings>
</site>
Wie Sie sehen können, gibt es nichts, das den Webserver anhand seines Namens identifiziert (z. B. Server A). Wenn Sie also Site1 an 10.10.10.1 auf Server A binden, werden diese Einstellungen auch für Server B repliziert. Die NIC-Karte von Server B erkennt jedoch die IP-Adresse 10.10.10.1 nicht. Tatsächlich möchten Sie 10.10.10.3 an Site1 an Port 443 und 80 für Server B binden.
Um diese Situation zu umgehen, müssen Sie manuell zusätzliche Bindungen für jede Website hinzufügen. Beispielsweise müssen Sie zusätzliche Bindungen für IP 10.10.10.3 und Port 443 auf Server A hinzufügen, obwohl Server A 10.10.10.3 nicht versteht. Dies ist in Ordnung, da IIS auf Server A diese IP beim Starten ignoriert, da sie nicht gefunden werden kann. Sie können den folgenden appcmd.exe Befehl verwenden, um diese Bindung hinzuzufügen:
appcmd.exe set site /site.name:Site1 /+bindings.[protocol="https",bindingInformation="10.10.10.3:443:"]
Hinweis
Auf der IIS-Manager-Benutzeroberfläche können Sie dies nicht für https tun. Sie müssen das tool appcmd.exe verwenden.
Nachdem Sie diese Bindung mit appcmd.exe hinzugefügt haben, sieht die neue Konfiguration in der applicationHost.config Datei wie folgt aus:
<site name="Site1" id="1">
<application path="/" applicationPool="Site1">
<virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot" />
</application>
<bindings>
<binding protocol="http" bindingInformation="10.10.10.1:www.contoso.com" />
<binding protocol="https" bindingInformation="10.10.10.1:443:" />
<binding protocol="https" bindingInformation="10.10.10.3:443:" />
</bindings>
</site>
Denken Sie daran, dass Sie dieser Website noch kein tatsächliches Zertifikat zugewiesen haben. Sie haben soeben die IP-Bindungen für Port 443 hinzugefügt. Sie können jetzt ein vorhandenes Zertifikat mithilfe der IIS-Manager-Benutzeroberfläche zuweisen. Weitere Informationen hierzu finden Sie unter How to Set Up SSL on IIS 7.
Nachdem Sie ein Zertifikat zugewiesen haben, werden die Einträge in http.sys konfiguriert, und Sie können sie über den folgenden NETSH-Befehl an einer Eingabeaufforderung anzeigen:
netsh http show sslcert
Führen Sie auf ähnliche Weise die oben beschriebenen Schritte und logik aus, um die restlichen Websites und Zertifikate zu den verbleibenden Servern hinzuzufügen. SSL-Zertifikatinformationen werden nie in der applicationHost.config-Datei gespeichert. Es ist lokal auf dem Computer, und es liegt in der Verantwortung des Servers A-Administrator sicherzustellen, dass die richtigen Zertifikate auf allen Servern in der Farm exportiert und importiert werden, die die gemeinsame Konfiguration verwenden.
Weitere Informationen
Weitere Informationen zum Verwalten der freigegebenen Konfiguration finden Sie in der freigegebenen Konfiguration.