HTTPS mit dem in Visual Studio integrierten ASP.NET Development Server

111

Gibt es eine Möglichkeit, über HTTPS auf den integrierten ASP.NET-Entwicklungsserver von Visual Studio zuzugreifen?

Shawn Miller
quelle
2
Siehe Antwort von @Guru Kara - die "markierte Antwort" ist veraltet
Rob
8
Ich habe die akzeptierte Antwort aktualisiert
Shawn Miller

Antworten:

143

Ab sofort können wir IIS Express zum Entwickeln und Testen in SSL verwenden. In diesem vollständigen Artikel wird erläutert, wie Sie mit IIS Express und Visual Studion 2010 Websites in SSL entwickeln.

Geben Sie hier die Bildbeschreibung ein

Nächster

Geben Sie hier die Bildbeschreibung ein

Dann wirst du das bekommen

Geben Sie hier die Bildbeschreibung ein

Die Arbeit mit SSL zur Entwicklungszeit ist mit IISExpress einfacher

Einführung in IIS Express

Guru Kara
quelle
7
Diese Antwort sollte gestoßen werden, die akzeptierte Antwort ist sehr veraltet. Ich habe die Methoden im verlinkten Artikel erfolgreich verwendet, um SSL über VisualStudio 2010 und IIS Express zum Laufen zu bringen
Tom Wayson
3
Vergessen Sie dann einfach nicht, die SSL-URL aus diesem Eigenschaftenfenster zu verwenden, denn wenn Sie sie beim nächsten Debuggen nicht geändert haben, wird immer noch die Nicht-SSL-URL verwendet (offensichtlich, aber leicht zu übersehen).
BornToCode
Ich erhalte "Ungültiger Hostname", wenn ich dies verwende.
MrFox
Dies scheint mit VS2017 nicht zu funktionieren. IISExpress sollte die Datei applicationhost.config im Ordner /.vs/config/ der Lösung lesen. Kennt jemand das Geheimnis, um diese Arbeit zu machen?
MC9000
Es funktioniert irgendwie für mich (VS 2017 Community). Wenn ich debugge, muss ich die SSL-URL manuell kopieren / in den Browser einfügen. Durch einfaches Klicken auf die Debug-Schaltfläche in der IDE komme ich zur Nicht-SSL-Version.
John Riehl
38

Cassini unterstützt kein HTTPS.

Sie können jedoch IIS verwenden, um dies zu tun. Wenn Sie mit IIS 5.1 das MS IIS-Toolpack für IIS 6.0 herunterladen, wird ein Tool zum Erstellen selbstsignierter SSL-Zertifikate mitgeliefert. Dies funktioniert unter IIS 5.1

http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=de

Das einzige Tool, das Sie benötigen (SelfSSL.exe), funktioniert einwandfrei mit IIS 5.1. Leider kommt es mit ein paar anderen Sachen gebündelt.

Schritte:

  • Installieren Sie die IIS-Tools-Datei. Wenn Sie möchten, können Sie auf Benutzerdefiniert klicken und festlegen, dass nur SelfSSL installiert werden soll.
  • Aktivieren Sie die Site in IIS, auf der Sie auch ein SSL-Zertifikat installieren möchten.
  • Gehen Sie zu Start / Programme / IIS-Ressourcen / SelfSSL
  • Dadurch wird eine Eingabeaufforderung im SelfSSL-Verzeichnis gestartet.
  • Führen Sie mithilfe der bereitgestellten Hilfe SelfSSL aus. Der von mir verwendete Befehl war: selfssl.exe / N: cn = [MASCHINENAME] / K: 1024 / V: 90 / S: 5 / P: 443
  • Der Schalter / S gibt an, an welcher Site das Zertifikat installiert werden soll. Sie können die Anzahl ermitteln, indem Sie sich Ihre Sites in IIS ansehen und (beginnend bei 1 für die erste Site, nicht 0) zu der gewünschten Site zählen.
  • Sobald dies ausgeführt wurde, navigieren Sie über HTTPS zu Ihrem lokalen Host
  • Sie sollten eine Fehlermeldung erhalten, die besagt, dass dieses Zertifikat von einer nicht vertrauenswürdigen Quelle stammt. Sie können entweder Ihren Maschinennamen zur Liste "Vertrauenswürdige Behörden" des Browsers hinzufügen oder den Browser anweisen, dies zu ignorieren.

Zu diesem Zeitpunkt können Sie Ihren lokalen Host über HTTPS ausführen.

FlySwat
quelle
1
Es gibt keinen Grund, den dummen integrierten VS-Webserver zu verwenden. Warum sollten Sie das verwenden, wenn Sie IIS überhaupt verwenden sollen? Lernen Sie IIS kennen und hören Sie auf zu sagen, dass es einfach zu schwierig und zu aufwendig ist, nur die Schaltfläche "Virtuelles Verzeichnis erstellen" in VS zu verwenden, mit der Sie ganz einfach eines in IIS erstellen können. Und dann lernen Sie IIS kennen. Es ist Zeit, dass Entwickler keine Angst mehr haben. Lernen Sie App-Pools usw. kennen. Ansonsten habe ich gesehen, dass die meisten Entwickler, die den integrierten Server verwenden, keine Ahnung haben, was IIS betrifft. Nicht gut für Ihre Karriere, wenn Sie ein Entwickler sind. Noch ein paar Schritte zum Debuggen, na und.
PositiveGuy
3
Siehe Guru Karas Antwort ... IIS Express ist die beste Antwort
Lee Harold
12

Wilco Bauwer hat einen Webdev-Server geschrieben, der https unterstützt. Er ist einer der Entwickler, die an dem in cassini visual studio 2005 eingebauten Webserver gearbeitet haben. WebDev.WebServer2

Aaron Fischer
quelle
1
Der Link ist nicht mehr zugänglich, aber Sie können ihn über web.archive.org/web/20080123212335/http://www.wilcob.com/Wilco/…
labilbe
1
Der Link ist wieder zugänglich.
Scott Stafford
Vielen Dank dafür, ich wusste nie, dass es eine HttpListener-Klasse gibt, die meine Welt verändert hat!
Peter
2

Wählen Sie im Projektmappen-Explorer die Projektdatei aus: zum Beispiel: "WebApplication1".

Mit ALT + ENTER geben Sie die Projekteigenschaften ein.

Wählen Sie "DEBUG" auf der linken Seite .

Hier können Sie "SSL aktivieren" auswählen .

Dann können Sie Ihr Projekt normal mit IIS Express starten und es wird SSL verwenden, der neue Port ist 44301

MrzJkl
quelle
1
Eine beste Erklärung wäre dankbar
Nicolás Alarcón Rapela
Was möchtest du wissen?
MrzJkl
3
Der Abschnitt "DEBUG" in den Projekteigenschaften ist für .NET Core-Webanwendungen vorhanden. Für .NET Framework WebApplication - wählen Sie das Webprojekt aus, drücken Sie F4 (um das Eigenschaftenfenster anzuzeigen) - es gibt eine Eigenschaft "SSL aktivieren"
Sergey Smolnikov
Danke Sergey. Ich konnte das nicht finden, da es nicht auf der Projekteinstellungsseite angezeigt wird. Nur unter dem Lösungs-Explorer, wenn Sie F4 drücken!
Norbert Norbertson