J'utilise le nouveau Visual Studio 2013 avec IISExpress pour la première fois (serveur de développement ASP.net précédemment utilisé sur VS2010). Je rencontre des problèmes en essayant de déboguer mon projet.
Voici ce que je vois dans Chrome:
Impossible d'établir une connexion sécurisée avec le serveur. Cela peut être un problème avec le serveur ou cela peut nécessiter un certificat d'authentification client que vous n'avez pas. Code d'erreur: ERR_SSL_PROTOCOL_ERROR
J'ai mis à jour mon fichier Properies -> Web afin que l'URL du projet utilise maintenant une URL https. Cependant, après cela, j'obtiens maintenant une nouvelle erreur lors du lancement:
La connexion à localhost a été interrompue. Code d'erreur: ERR_CONNECTION_RESET
Merci
Réponses:
Si vous utilisez URLRewrite pour forcer les connexions SSL dans votre web.config, il réécrit probablement votre adresse d'hôte local pour forcer https. Si le débogage avec SSL activé n'est pas important pour vous et que vous utilisez URLRewrite, envisagez l'ajout
<add input="{HTTP_HOST}" pattern="localhost" negate="true" />
dans la section de réécriture de votre fichier web.config. Cela arrêtera la réécriture pour toutes les adresses d'hôte local mais la laissera en place dans un environnement de production. Si vous n'utilisez pas URLRewrite ou avez besoin de déboguer à l'aide de SSL, http://www.hanselman.com/blog/WorkingWithSSLAtDevelopmentTimeIsEasierWithIISExpress.aspx peut vous aider. C'est pour VS2010, mais cela devrait également suffire pour VS2013.la source
J'obtenais ERR_CONNECTION_RESET car mon numéro de port d' application configuré dans Visual Studio 2013 / IIS Express n'était PAS dans la plage : 44300-: 44398 . (Je ne me souviens pas avoir dû ignorer les avertissements pour sortir de cette plage.) Changer le numéro de port en quelque chose dans cette plage est tout ce que j'avais à faire pour le faire fonctionner.
J'ai remarqué cela après avoir examiné la
netsh http show sslcert > sslcert.txt
sortie et quelque chose en cliquant avec des trucs que j'ai lus récemment sur les numéros de port.la source
netsh http add sslcert ...
pour ajouter le port que vous souhaitez utiliser. Utile dans certains cas.netsh
à la rescousse, c'est digne d'un article de blog ...Assurez-vous de supprimer tous les certificats «localhost» précédents, car ils pourraient entrer en conflit avec celui généré par IIS Express. J'ai eu cette même erreur (ERR_SSL_PROTOCOL_ERROR), et il m'a fallu plusieurs heures pour enfin la comprendre après avoir essayé de nombreuses "solutions". Mon erreur était que j'avais créé mon propre certificat «localhost» et qu'il y en avait deux. J'ai dû supprimer les deux et faire recréer IIS Express.
Voici comment vous pouvez vérifier et supprimer le certificat 'localhost':
Sur Visual Studio, sélectionnez projet et sous l'onglet des propriétés, activez SSL = true. Enregistrez, construisez et exécutez. IIS Express générera un nouveau certificat «localhost».
Remarque: si cela ne fonctionne pas, essayez ceci: assurez-vous de désactiver IIS Express sur le projet VS et d'arrêter toutes les applications en cours d'exécution avant de supprimer le certificat 'localhost'. En outre, vous pouvez aller dans 'Panneau de configuration> Programmes' et Réparer IIS Express.
la source
netsh http delete sslcert ipport=0.0.0.0:443
netsh http add sslcert ipport=0.0.0.0:443 appid="{GUID-APP-ID}" certhash="THUMBPRINTOFMYCERTIFICATEINHEXADECIMAL"
Je résume les étapes qui m'ont aidé à résoudre ce problème:
Le New_Certificate_Hash sera votre certificat par défaut lié à votre hôte local (que nous avons trouvé à l'étape 4) ou celui que vous souhaitez ajouter en tant que nouveau certificat.
PS Merci pour votre réponse uosɐſ (qui m'a aidé à résoudre ce problème)
la source
Le problème que je rencontrais avait à voir avec moi, à un moment donné, en activant HSTS pour localhost et en ne réalisant pas que cela briserait mon http: // localhost: someport dans IIS Express.
HSTS dit au navigateur (Chrome dans mon cas) de TOUJOURS demander une URL en utilisant HTTPS. Donc, même si je n'avais même pas activé SSL pour mon application MVC 5, le navigateur essaierait toujours d'accéder à mon site en utilisant HTTPS dans l'URL au lieu de HTTP.
Le correctif?
la source
Aucune des options ci-dessus n'a fonctionné pour moi. J'ai dû faire ce qui suit:
J'ai les étapes de ce fil.
J'espère que cela t'aides.
la source
Dans mon cas, j'ai créé un certificat auto-signé et je l'ai fait fonctionner, sauf que j'obtenais une erreur dans le navigateur car le certificat n'était pas fiable. J'ai donc déplacé le certificat dans le dossier Autorités de certification racines de confiance> Certificats dans le composant logiciel enfichable Certificats. Cela a fonctionné, puis j'ai fermé Visual Studio pour la journée.
Le lendemain, j'ai commencé mon projet et j'ai reçu l'erreur mentionnée dans la question initiale. Le problème est que le certificat avec lequel vous avez configuré IISExpress doit exister dans le dossier Personnel> Certificats ou HTTPS cessera de fonctionner. Une fois IIS Express démarré avec succès, vous pouvez faire glisser le certificat vers l'emplacement approuvé. Il continuera à fonctionner jusqu'à ce que vous redémarriez IIS Express.
Ne voulant pas me soucier de faire glisser le certificat d'avant en arrière à chaque fois, je place simplement une copie du certificat aux deux endroits et maintenant tout fonctionne bien.
la source
J'ai le même problème dans Visual Studio 2015. Parce que j'utilise la liaison SSL dans web.config
Et je peux résoudre le problème avec la réponse de Monsieur Djroedger. En remplaçant
avec
<add input="{HTTP_HOST}" pattern="localhost" negate="true" />
dans mon web.config, donc mon code est
la source
J'avais ce problème, j'avais configuré mon site pour global require https dans FilterConfig.cs.
J'avais oublié de changer l'url du projet en https: à partir de ce tutoriel http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-deploy-aspnet-mvc-app-membership-oauth- sql-database / sous ENABLE SSL partie 4. Cela a causé les erreurs que vous obteniez.
la source
Le problème que j'ai eu était lié à la réponse de @Jason Kleban, mais j'ai eu un petit problème avec mes paramètres dans les propriétés de Visual Studio pour IIS Express.
Assurez-vous qu'après avoir modifié le port pour qu'il soit compris entre 44300 et 44399, l'adresse commence également par
HTTPS
la source
Un autre problème qui m'est arrivé deux fois:
dans IIS Express
applicationhost.config
l'ordre des liaisons importe. Une liaison peut avoir priorité sur votre liaison SSL, ce qui la rend inopérante.Exemple:
Vous avez peut-être ajouté une liaison similaire à la seconde pour pouvoir accéder à votre WebService de l'extérieur
localhost
. Comme cette liaison écoute sur n'importe quelle adresse, elle semble remplacer la liaison SSL bien qu'un port différent ait été utilisé.Retirez la liaison diabolique ou déplacez-la vers le bas.
la source
La suppression des répertoires IISExpress et vs et l'utilisation de la plage de ports SSL de 44300 à 44399 (inclus) de cet article a fonctionné pour moi
la source
Ceci est anecdotique comme entendu par un collègue, mais il s'agit prétendument d'un problème avec le chrome forçant https. Je lance généralement dans Firefox, donc je n'avais jamais vu ce problème auparavant. Utiliser Firefox ou ie a fonctionné pour mon collègue.
la source
Mon problème a été causé par Fiddler. Lorsque Fiddler plante, cela perturbe parfois vos paramètres de proxy. Le simple lancement de Fiddler semblait tout réparer (peut-être qu'il se répare en quelque sorte).
la source
Le « vérificateur d'installation du certificat Digicert » est souvent utile dans de telles situations.
J'ai pu vérifier que le certificat SSL tenté était celui que j'attendais en comparant le numéro de série.
Pour moi, la réponse @Jason Kleban était le problème réel, mais cela peut être un utilitaire très utile pour vérifier vos affirmations de base sur le certificat en cours de chargement.
la source
Si vous devez utiliser un port en dehors de la plage 44300-44399, voici une solution de contournement:
Cela enregistre le certificat de développement IIS Express avec ce port et c'est le moyen le plus simple que j'ai trouvé pour contourner l'exigence de la plage 44300-44399.
la source
Je viens de reconstruire mon ordinateur. Ce fil de discussion m'a donné les indices, où j'ai réalisé dans les paramètres du projet> Web, le projet était configuré pour utiliser HTTP et le port HTTP. En le mettant à jour vers HTTPS et le bon port HTTPS, tout a recommencé à fonctionner.
la source
Pour suivre d'autres réponses sur la définition du port SSL entre 44300 et 44399, je n'ai pas pu modifier la propriété SSL Enabled dans Visual Studio, ni définir une URL SSL spécifique. D'autres réponses, comme la réparation d'IIS Express, n'ont pas aidé. La solution consistait à aller dans le dossier .vs parallèlement au fichier sln, à ouvrir le sous-dossier config, puis à modifier le fichier applicationhost.config. Ensuite, j'ai ajouté la ligne https manuellement et redémarré VS.
la source
Dans mon cas, j'avais simplement oublié que j'avais mis en place une liaison pour (dans mon cas) https: // localhost: 44300 en intégralité IIS. Vous ne pouvez pas avoir les deux!
la source
Dans mon cas, l'url localhost a été redirigée vers https: // localhost lors du débogage. Cela s'est passé d'un moment à l'autre, sans rien changer. J'ai résolu ce problème en effectuant un rechargement dur du navigateur. Ici le lien
la source