HTTPS z wbudowanym serwerem programistycznym ASP.NET programu Visual Studio

111

Czy istnieje sposób uzyskania dostępu do wbudowanego serwera programistycznego ASP.NET programu Visual Studio za pośrednictwem protokołu HTTPS?

Shawn Miller
źródło
2
Zobacz odpowiedź od @Guru Kara - „zaznaczona odpowiedź” jest nieaktualna
Rob
8
Zaktualizowałem zaakceptowaną odpowiedź
Shawn Miller

Odpowiedzi:

143

Od teraz możemy używać IIS Express do tworzenia i testowania w SSL. Oto pełny artykuł wyjaśniający, jak używać IIS Express i Visual Studion 2010 do tworzenia witryn internetowych w SSL.

wprowadź opis obrazu tutaj

Kolejny

wprowadź opis obrazu tutaj

Wtedy to dostaniesz

wprowadź opis obrazu tutaj

Praca z SSL w czasie programowania jest łatwiejsza dzięki IISExpress

Przedstawiamy IIS Express

Guru Kara
źródło
7
Ta odpowiedź powinna być podbita, zaakceptowana odpowiedź jest bardzo nieaktualna. Z powodzeniem zastosowałem metody z połączonego artykułu, aby uzyskać SSL działający przez VisualStudio 2010 i IIS Express
Tom Wayson
3
Następnie po prostu nie zapomnij użyć adresu URL SSL z tego okna właściwości, ponieważ jeśli go nie zmienisz, następnym razem, gdy zaczniesz debugować, nadal będzie używany adres URL bez SSL (oczywisty, ale łatwy do przeoczenia ..)
BornToCode
Używając tego, otrzymuję komunikat „Nieprawidłowa nazwa hosta”.
MrFox
Wygląda na to, że nie działa z VS2017. Usługi IISExpress powinny czytać plik applicationhost.config w folderze /.vs/config/ rozwiązania. Czy ktoś zna sekret, dzięki któremu to działa?
MC9000
Jak dla mnie to działa (Społeczność VS 2017). Kiedy debuguję, muszę ręcznie skopiować / wkleić adres URL SSL do przeglądarki ... po prostu kliknięcie przycisku debugowania w IDE powoduje przejście do wersji bez SSL.
John Riehl
38

Cassini nie obsługuje HTTPS.

Możesz jednak użyć do tego usług IIS, jeśli korzystasz z IIS 5.1, pobierz pakiet narzędzi MS IIS dla IIS 6.0, jest on wyposażony w narzędzie do tworzenia certyfikatów SSL z podpisem własnym. Działa to w usługach IIS 5.1

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

Jedyne potrzebne narzędzie (SelfSSL.exe) działa dobrze z usługami IIS 5.1. Niestety, jest dostarczany w pakiecie z wieloma innymi rzeczami.

Kroki:

  • Zainstaluj plik narzędzi usług IIS. Jeśli chcesz, możesz kliknąć opcję Niestandardowe i powiedzieć mu, aby instalował tylko SelfSSL.
  • Aktywuj witrynę w usługach IIS, dla której chcesz również zainstalować certyfikat SSL.
  • Przejdź do Start / Programy / Zasoby IIS / SelfSSL
  • Spowoduje to uruchomienie wiersza poleceń w katalogu SelfSSL.
  • Korzystając z dostarczonej pomocy, uruchom SelfSSL. Polecenie, którego użyłem, to: selfssl.exe / N: cn = [NAZWA MASZYNY] / K: 1024 / V: 90 / S: 5 / P: 443
  • Przełącznik / S wskazuje, w której lokacji należy zainstalować certyfikat. Możesz obliczyć liczbę, patrząc na swoje witryny w usługach IIS i licząc (zaczynając od 1 dla pierwszej witryny, a nie 0), do żądanej witryny.
  • Po uruchomieniu przejdź do swojego hosta lokalnego przez HTTPS
  • Powinien pojawić się komunikat o błędzie informujący, że ten certyfikat pochodzi z niezaufanego źródła. Możesz albo dodać nazwę swojego komputera do listy „Zaufanych władz” przeglądarki, albo możesz nakazać przeglądarce ignorowanie tego.

W tym momencie będziesz mógł uruchomić swój localhost przez HTTPS.

FlySwat
źródło
1
Nie ma powodu, aby używać głupiego wbudowanego serwera WWW VS. Po co używać tego, skoro masz używać usług IIS w pierwszej kolejności. Zapoznaj się z usługami IIS, przestań mówić, że użycie przycisku Utwórz katalog wirtualny w VS jest po prostu zbyt trudne i zbyt pracochłonne, co sprawia, że ​​utworzenie go w usługach IIS jest całkowicie łatwe. Następnie zapoznaj się z usługami IIS. Czas, aby deweloperzy przestali się go bać. Poznaj pule aplikacji itp. W przeciwnym razie zauważyłem, że większość programistów korzystających z wbudowanego serwera nie ma pojęcia o IIS. Nie jest to dobre dla twojej kariery, jeśli jesteś programistą. Jeszcze kilka kroków do debugowania i co z tego.
PositiveGuy,
3
Zobacz odpowiedź Guru Kara ... IIS Express jest najlepszą odpowiedzią
Lee Harold
12

Wilco Bauwer napisał serwer webdev, który będzie obsługiwał https. Jest jednym z programistów, którzy pracowali nad cassini Visual Studio 2005 wbudowanym w serwer WWW. WebDev.WebServer2

Aaron Fischer
źródło
1
Link nie jest już dostępny, ale można go pobrać z witryny web.archive.org/web/20080123212335/http://www.wilcob.com/Wilco/ ...
labilbe
1
Link jest ponownie dostępny.
Scott Stafford
Wielkie dzięki za to, że nigdy nie wiedziałem, że istnieje klasa HttpListener, dzięki której zmieniłeś mój świat!
Peter
2

Wybierz plik projektu w Eksploratorze rozwiązań: na przykład: „WebApplication1”.

Naciskając ALT + ENTER wchodzisz do właściwości projektu.

Wybierz „DEBUGOWANIE” po lewej stronie .

Tutaj możesz wybrać „Włącz SSL” .

Następnie możesz normalnie rozpocząć projekt z IIS Express i zacznie on używać SSL, nowy port będzie 44301

MrzJkl
źródło
1
Najlepszym wyjaśnieniem byłoby wdzięczność
Nicolás Alarcón Rapela,
Co chcesz wiedzieć?
MrzJkl
3
Sekcja „DEBUGOWANIE” we właściwościach projektu istnieje dla .NET Core WebApplications. W przypadku aplikacji .NET Framework WebApplication - wybierz projekt sieciowy, naciśnij klawisz F4 (aby wyświetlić okno Właściwości) - istnieje właściwość „Włącz SSL”
Sergey Smolnikov
Dzięki Sergey. Nie udało mi się tego znaleźć, ponieważ nie wyświetla się na stronie ustawień projektu. Tylko pod eksploratorem rozwiązań po naciśnięciu klawisza F4!
Norbert Norbertson