Ich richte derzeit eine neue automatisierte Bereitstellung ein und möchte wissen, wie ich eine https-Bindung mit SNI, das auf IIS 8 aktiviert ist, programmgesteuert registrieren kann. Die Website existiert bereits und das SSL-Zertifikat ist bereits installiert.
Das Powershell-Skript enthält folgende Parameter:
Angenommen, das SSL-Zertifikat ist bereits installiert.
Kann mir jemand helfen?
Wenn Sie sagen, dass das Zertifikat bereits installiert ist und die Identität des Anwendungspools über eine Berechtigung für den privaten Schlüssel verfügt, sollten Sie in der Lage sein, eine neue Bindung wie diese zu registrieren:
%Vor%Sie müssen natürlich die Variablen vor der Ausführung dieses Codes einstellen, aber diese sollten selbsterklärend sein.
Wenn Sie den Wert der Variablen $ sslFlags festlegen, sollte dies gemäß der folgenden Tabelle festgelegt werden:
%Vor%In Ihrem Fall sollte dies auf 1 gesetzt werden, da Sie nicht den zentralen Zertifikatspeicher verwenden.
Sobald Sie die SSL-Bindung an Ort und Stelle haben, müssen Sie die Bindung mit dem richtigen Zertifikat verknüpfen. Ich habe durch Erfahrung gefunden, dass der einfachste Weg dies zu tun ist, den Befehl netsh.exe zu verwenden. Es ist möglich, Powershell direkt zu verwenden, aber nach vielen Stunden der Untersuchung und Adressierung verschiedener Probleme fand ich Netsh nur zuverlässiger.
Die Syntax hängt davon ab, wie die Bindung eingerichtet wird, aber wenn Sie SNI verwenden, dann benötigen Sie die folgende Syntax: (Machen Sie sich keine Sorgen über die appid, es ist nicht wichtig, was der Wert ist)
%Vor%Dieser Code erfordert auch das Setzen von Variablen. Host-Header sollte der DNS-Name sein, an den Ihre Website gebunden ist, der Port wird höchstwahrscheinlich 443 sein und die Variable $ Thumbprint muss den Fingerabdruck oder den Hash des Zertifikats enthalten, das Sie verwenden werden. Sie können dies mithilfe des Zertifikatanbieters wie in diesem Code finden:
%Vor%Ich hoffe, das hilft, wenn Sie weitere Hilfe benötigen, dann aktualisieren Sie die Frage. Ich habe in diesem Bereich viel Arbeit geleistet.
Es gibt tatsächlich eine Methode für das Bindungsobjekt, um ein SSL hinzuzufügen, das besser funktioniert als die beiden oben genannten Optionen
%Vor%Wenn die Bindung bereits vorhanden ist, aber das Zertifikat fehlt (vorausgesetzt, Ihre Site verwendet Port 443):
%Vor% Um auf das IIS PS-Laufwerk zugreifen zu können, müssen Sie das Modul webadministration
importieren.
Wenn die Bindung noch nicht existiert, können Sie sie mit
erstellen %Vor%Grüße
Tags und Links iis ssl powershell powershell-v2.0 powershell-v3.0