HTTPS avec le serveur de développement ASP.NET intégré à Visual Studio

111

Existe-t-il un moyen d'accéder au serveur de développement ASP.NET intégré de Visual Studio via HTTPS?

Shawn Miller
la source
2
Voir la réponse de @Guru Kara - la "réponse marquée" est obsolète
Rob
8
J'ai mis à jour la réponse acceptée
Shawn Miller

Réponses:

143

À partir de maintenant, nous pouvons utiliser IIS Express pour développer et tester en SSL. Voici un article complet expliquant comment utiliser IIS Express et Visual Studion 2010 pour développer des sites Web en SSL.

entrez la description de l'image ici

Prochain

entrez la description de l'image ici

Alors vous obtiendrez ceci

entrez la description de l'image ici

Travailler avec SSL au moment du développement est plus facile avec IISExpress

Présentation d'IIS Express

Guru Kara
la source
7
Cette réponse doit être modifiée, la réponse acceptée est très dépassée. J'ai utilisé avec succès les méthodes de l'article lié pour faire fonctionner SSL via VisualStudio 2010 et IIS Express
Tom Wayson
3
Ensuite, n'oubliez pas d'utiliser l'URL SSL de cette fenêtre de propriétés, car si vous ne l'avez pas modifiée, la prochaine fois que vous commencerez le débogage, elle utilisera toujours l'URL non SSL (évidente, mais facile à ignorer.)
BornToCode
J'obtiens "Nom d'hôte invalide" en utilisant ceci.
MrFox
Cela ne semble pas fonctionner avec VS2017. IISExpress doit lire le fichier applicationhost.config dans le dossier /.vs/config/ de la solution. Quelqu'un connaît le secret pour que cela fonctionne?
MC9000
Cela fonctionne en quelque sorte pour moi (VS 2017 Community). Lorsque je débogue, je dois copier / coller manuellement l'URL SSL dans le navigateur ... il suffit de cliquer sur le bouton de débogage dans l'EDI pour accéder à la version non SSL.
John Riehl
38

Cassini ne prend pas en charge HTTPS.

Cependant, vous pouvez utiliser IIS pour ce faire, si vous utilisez IIS 5.1, téléchargez le toolpack MS IIS pour IIS 6.0, il est livré avec un outil pour créer des certificats SSL auto-signés. Cela fonctionne sur IIS 5.1

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

L'outil dont vous avez besoin (SelfSSL.exe) fonctionne parfaitement avec IIS 5.1. Malheureusement, il est livré avec un tas d'autres choses.

Pas:

  • Installez le fichier des outils IIS. Si vous le souhaitez, vous pouvez cliquer sur Personnalisé et lui indiquer de n'installer que SelfSSL.
  • Activez le site dans IIS sur lequel vous souhaitez également installer un certificat SSL.
  • Allez dans Démarrer / Programmes / Ressources IIS / SelfSSL
  • Cela lancera une invite de commande dans le répertoire SelfSSL.
  • À l'aide de l'aide fournie, exécutez SelfSSL. La commande que j'ai utilisée était: selfssl.exe / N: cn = [MACHINENAME] / K: 1024 / V: 90 / S: 5 / P: 443
  • Le commutateur / S indique le site sur lequel installer le certificat. Vous pouvez déterminer le nombre en regardant vos sites dans IIS et en comptant (à partir de 1 pour le premier site, et non de 0), jusqu'au site de votre choix.
  • Une fois que cela s'est exécuté, accédez à votre hôte local via HTTPS
  • Vous devriez recevoir un message d'erreur indiquant que ce certificat provient d'une source non approuvée. Vous pouvez soit ajouter votre nom de machine à la liste «Autorités de confiance» du navigateur, soit demander au navigateur de l'ignorer.

À ce stade, vous pourrez exécuter votre hôte local sur HTTPS.

FlySwat
la source
1
Il n'y a aucune raison d'utiliser le stupide serveur Web VS intégré. Pourquoi l'utiliser alors que vous êtes censé utiliser IIS en premier lieu. Apprenez à connaître IIS, arrêtez de dire que c'est tout simplement trop difficile et trop de travail d'utiliser simplement le bouton Créer un répertoire virtuel dans VS, ce qui vous permet d'en créer un dans IIS. Et puis apprenez à connaître IIS. Il est temps que les développeurs arrêtent d'en avoir peur. Apprenez à connaître les pools d'applications, etc. Sinon, j'ai vu que la plupart des développeurs qui utilisent le serveur intégré ne savent rien quand il s'agit d'IIS. Pas bon pour votre carrière si vous êtes développeur. Quelques étapes supplémentaires pour déboguer, et alors.
PositiveGuy
3
Voir la réponse de Guru Kara ... IIS Express est la meilleure réponse
Lee Harold
12

Wilco Bauwer a écrit un serveur webdev qui supportera https. Il est l'un des développeurs qui a travaillé sur cassini visual studio 2005 intégré au serveur web. WebDev.WebServer2

Aaron Fischer
la source
1
Le lien n'est plus accessible mais vous pouvez l'obtenir via web.archive.org/web/20080123212335/http://www.wilcob.com/Wilco/…
labilbe
1
Le lien est à nouveau accessible.
Scott Stafford
Merci beaucoup pour cela, je ne savais pas qu'il y avait une classe HttpListener que vous avez remodelé mon monde!
Peter
2

Sélectionnez le fichier-projet dans l'Explorateur de solutions: par exemple: "WebApplication1".

En appuyant sur ALT + ENTRÉE, vous entrez les propriétés du projet.

Sélectionnez "DEBUG" sur le côté gauche .

Ici, vous pouvez sélectionner "Activer SSL" .

Ensuite, vous pouvez démarrer votre projet avec IIS Express normalement et il commencera à utiliser SSL, le nouveau port sera 44301

MrzJkl
la source
1
Une meilleure explication serait reconnaissante
Nicolás Alarcón Rapela
Que veux-tu savoir?
MrzJkl
3
La section "DEBUG" dans les propriétés du projet existe pour les applications Web .NET Core. Pour .NET Framework WebApplication - sélectionnez le projet Web, appuyez sur F4 (pour afficher la fenêtre Propriétés) - il existe une propriété "Activer SSL"
Sergey Smolnikov
Merci Sergey. Je n'ai pas pu trouver cela car il n'apparaît pas dans la page des paramètres du projet. Seulement sous l'explorateur de solutions lorsque vous appuyez sur F4!
Norbert Norbertson