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?


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


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.


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


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


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.