HTTPS con il server di sviluppo ASP.NET integrato di Visual Studio


Risposte:


143

A partire da ora possiamo utilizzare IIS Express per sviluppare e testare in SSL. Ecco un articolo completo che spiega come utilizzare IIS Express e Visual Studion 2010 per sviluppare siti Web in SSL.

inserisci qui la descrizione dell'immagine

Il prossimo

inserisci qui la descrizione dell'immagine

Allora otterrai questo

inserisci qui la descrizione dell'immagine

Lavorare con SSL in fase di sviluppo è più semplice con IISExpress

Presentazione di IIS Express


7
Questa risposta dovrebbe essere aumentata, la risposta accettata è molto obsoleta. Ho utilizzato con successo i metodi nell'articolo collegato per ottenere SSL in esecuzione tramite VisualStudio 2010 e IIS Express
Tom Wayson

3
Quindi non dimenticare di utilizzare l'URL SSL da quella finestra delle proprietà, perché se non l'hai modificato, la prossima volta che avvii il debug utilizzerà comunque l'URL non SSL (ovvio, ma facile da trascurare ..)
BornToCode

Ottengo "Nome host non valido" quando lo uso.
MrFox

Questo non sembra funzionare con VS2017. IISExpress dovrebbe leggere applicationhost.config nella cartella /.vs/config/ della soluzione. Qualcuno conosce il segreto per far funzionare questo?
MC9000

In un certo senso funziona per me (VS 2017 Community). Quando eseguo il debug, devo copiare / incollare manualmente l'URL SSL nel browser ... basta fare clic sul pulsante di debug nell'IDE per accedere alla versione non SSL.
John Riehl

38

Cassini non supporta HTTPS.

Tuttavia, puoi utilizzare IIS per farlo, se utilizzi IIS 5.1, scarica il toolpack MS IIS per IIS 6.0, viene fornito con uno strumento per creare certificati SSL autofirmati. Funziona su IIS 5.1

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

L'unico strumento di cui hai bisogno (SelfSSL.exe) funziona perfettamente con IIS 5.1. Sfortunatamente, viene fornito in bundle con un sacco di altre cose.

passi:

  • Installa il file degli strumenti di IIS. Se lo desideri, puoi fare clic su Personalizzato e dirgli di installare solo SelfSSL.
  • Attiva in IIS il sito in cui desideri installare anche un certificato SSL.
  • Vai a Start / Programmi / Risorse IIS / SelfSSL
  • Questo avvierà un prompt dei comandi nella directory SelfSSL.
  • Utilizzando la guida fornita, eseguire SelfSSL. Il comando che ho usato è stato: selfssl.exe / N: cn = [MACHINENAME] / K: 1024 / V: 90 / S: 5 / P: 443
  • L'opzione / S indica il sito in cui installare il certificato. Puoi calcolare il numero guardando i tuoi siti in IIS e contando (a partire da 1 per il primo sito, non 0), fino al sito che desideri.
  • Una volta eseguito, vai al tuo localhost su HTTPS
  • Dovresti ricevere un messaggio di errore che indica che questo certificato proviene da un'origine non attendibile. È possibile aggiungere il proprio nome macchina all'elenco "Autorità attendibili" del browser oppure indicare al browser di ignorarlo.

A questo punto, sarai in grado di eseguire il tuo localhost su HTTPS.


1
Non c'è motivo di utilizzare lo stupido server web VS incorporato. Perché usarlo quando dovresti usare IIS in primo luogo. Impara a conoscere IIS, smettila di dire che è semplicemente troppo difficile e troppo faticoso usare semplicemente il pulsante Crea directory virtuale in VS che ti rende completamente facile crearne uno in IIS. E poi impara a conoscere IIS. È ora che gli sviluppatori smettano di averne paura. Impara a conoscere i pool di app, ecc. Altrimenti ho visto che la maggior parte degli sviluppatori che utilizzano il server integrato non hanno idea quando si tratta di IIS. Non va bene per la tua carriera se sei uno sviluppatore. Un paio di altri passaggi per eseguire il debug, quindi cosa.
PositiveGuy

3
Vedi la risposta di Guru Kara ... IIS Express è la risposta migliore
Lee Harold

12

Wilco Bauwer ha scritto un server webdev che supporterà https. È uno degli sviluppatori che ha lavorato al server web cassini visual studio 2005 integrato. WebDev.WebServer2


1
Il collegamento non è più accessibile ma è possibile ottenerlo tramite web.archive.org/web/20080123212335/http://www.wilcob.com/Wilco/…
labilbe

1
Il collegamento è nuovamente accessibile.
Scott Stafford

Grazie mille per questo non sapevo che ci fosse una classe HttpListener che hai rimodellato il mio mondo!
Peter

2

Selezionare il file di progetto in Esplora soluzioni: ad esempio: "WebApplication1".

Premendo ALT + INVIO si accede alle proprietà del progetto.

Seleziona "DEBUG" sul lato sinistro .

Qui puoi selezionare "Abilita SSL" .

Quindi puoi avviare normalmente il tuo progetto con IIS Express e inizierà a utilizzare SSL, la nuova porta sarà 44301


1
Una spiegazione migliore sarebbe grata
Nicolás Alarcón Rapela

Cosa vuoi sapere?
MrzJkl

3
La sezione "DEBUG" nelle proprietà del progetto esiste per .NET Core WebApplications. Per .NET Framework WebApplication - seleziona il progetto web, premi F4 (per mostrare la finestra Proprietà) - c'è una proprietà "Abilita SSL"
Sergey Smolnikov

Grazie Sergey. Non sono riuscito a trovarlo poiché non viene visualizzato nella pagina delle impostazioni del progetto. Solo sotto Esplora soluzioni quando premi F4!
Norbert Norbertson il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.