web-dev-qa-db-fra.com

IISExpress ne peut pas trouver la page SSL exécutant localhost avec Visual Studio 2013

Lorsque j'accède au site en tant que http: // localhost: 26049 , le site fonctionne correctement. Si j'essaie d'accéder au site avec https: // localhost: 44319 , la page est introuvable.

Voici les propriétés de mon projet:

project properties

Ceci est de ma configuration d'application IISExpress:

<site name="MVC Authentication" id="2">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="F:\Projects\MySite\Test" />
    </application>
    <bindings>
        <binding protocol="https" bindingInformation="*:44319:localhost" />
        <binding protocol="http" bindingInformation="*:26049:localhost" />
    </bindings>
</site>
26
garethb

Vous avez la solution de ce post. Devait supprimer tous les certificats localhost et réparer IIS Express. Merci @ShaTin

https://stackoverflow.com/a/22818853/853295

Assurez-vous de supprimer tous les certificats 'localhost' antérieurs, 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 le résoudre, après avoir essayé de nombreuses "solutions". Mon erreur est que j'ai créé mon propre certificat 'localhost' et qu'il y en avait deux. J'ai dû supprimer les deux et laisser IIS Express le recréer.

Voici comment vérifier et supprimer le certificat 'localhost':

Au démarrage, tapez -> mmc.exe, Fichier -> Ajouter/Supprimer un composant logiciel enfichable ..., Sélectionnez Certificats -> Ajouter> -> Compte d'ordinateur -> Ordinateur local, Vérifier sous Certificats > Personnel> Certificats . Assurez-vous que le certificat localhost existant porte un nom convivial "Certificat de développement IIS Express". Sinon, supprimez-le. Ou, si vous en avez plusieurs, supprimez tous les . Sous Visual Studio, sélectionnez le projet et sous l'onglet de propriété, activez SSL = true. Enregistrer, construire et exécuter. IIS Express générera un nouveau certificat 'localhost'.

Remarque: si cela ne fonctionne pas, essayez les solutions suivantes: veillez à désactiver IIS Express sur le projet VS et à arrêter toutes les applications en cours d'exécution sur celle-ci avant de supprimer le certificat 'localhost'. En outre, vous pouvez accéder à «Panneau de configuration> Programmes» et à Réparer IIS Express.

31
garethb

S'il vous plaît, par amour pour g * d, essayez ceci avant de vous perdre dans une folie inutile!

(Apparemment, IIS Express a réservé une plage de ports de 44300 à 44399 pour simuler SSL)

Passez au port 44300 (https: // localhost: 44300 /)

26
DaniDev

Les étapes suivies par moi pour résoudre ce problème (j'utilise vs2015)  enter image description here

1) Allez au panneau de contrôle

2) Ajouter supprimer des programmes

3) Réparez IIS Express

4) Redémarrez mon ordinateur

4) Ensuite, allez dans mes documents-> IIS Express-> Fichiers de configuration

5) Prenez-en une copie et retirez-y les fichiers

6) Supprimer tous les éléments C:\Temp

7) Recherchez le dossier .vs dans votre fichier sln et allez dans le dossier config

8) Prenez également une copie de cette copie et supprimez les fichiers qu'elle contient.

9) Nettoyez votre solution 

10) Redémarrez Visual studio 

11) Construire et exécuter

(J'ai copié des fichiers de configuration propres à partir de la machine de mes collègues - dans les emplacements mentionnés ci-dessus. 
1] dans les documents 
2] dossier .vs
Je suppose que je lance simplement IISExpress et que le fichier sera recréé pour vous. Le fichier exe se trouve à l'emplacement suivant: "c:\Program Files\IIS Express\iisexpress.exe" .)

14
Kushal M K

Il semble que IIS Express ne lance pas le projet sous l’URL https. Essayez de remplacer l'URL du projet par défaut par l'URL SSL dans 

"Projet Web-> Propriétés-> Web-> URL du projet" à l'URL avec https.

enter image description here

9
TejSoft

Dans mon cas, lors d'une précédente exécution, IIS Express avait ajouté un certificat (appelé localhost) au dossier Personnel> Certificats. Mais je recevais une erreur de certificat invalide dans l'application. J'ai donc déplacé le certificat localhost vers la racine de confiance ...> Certificats et tout a commencé à fonctionner.

Le lendemain, lorsque je lance la même application, j'ai commencé à obtenir cette erreur ERR_CONNECTION_RESET. Tout ce que je devais faire était de déplacer le certificat localhost du dossier racine de confiance ...> Certificats vers le dossier Personnel> Certificats .  enter image description here

Si le certificat "localhost" est manquant dans l'un des dossiers, vous devez réparer/réinstaller IIS Express à partir du Panneau de configuration> Ajout/Suppression de programmes ..__ pour rétablir le certificat localhost.

Visual Studio 2015, IIS Express, Windows 8, Asp.net MVC

7
Rahatur

J'avais ces problèmes SSL avec Chrome et Edge.

Après un long processus d'examen de toutes ces réponses et suggestions, ce qui a finalement fonctionné pour moi (asp.net mvc 5, VS2015) était un mélange des réponses ci-dessus.

  1. Ajouter des certificats comme indiqué ci-dessus, en supprimant plusieurs certificats et en régénérant un nouveau certificat: Merci @garethb
  2. Le problème concerne alors le niveau de confiance de ce certificat. Le lien suivant indique étape par étape le processus d’exportation, puis d’importation (et pas seulement de déplacement) du certificat local https://blogs.msdn.Microsoft.com/robert_mcmurray/2013/11/15/how-to- trust-the-iis-express-certificat auto-signé/

    1. Lors de la fermeture de tout, puis de la reconstruction et du déploiement dans IIS Express, les erreurs SSL ne se produisent plus dans aucun navigateur.
1
Brennon

Aucune de ces options n'a fonctionné pour moi dans VS2017 avec le même problème. Cette solution utilisant iisexpresscmdadmin avec un certificat auto-signé a permis à mon site d’être affiché:

Comment corriger un certificat SSL Express IIS manquant?

0
John Ernest

Sous VS 2017, aucune de ces solutions ne semblait fonctionner, même après exportation et importation de certificat dans Chrome . Elle a finalement fonctionné après avoir effectué deux choses: (1) a copié le certificat localhost de Personal à Trusted Root. . (2) changé le numéro de port dans les propriétés du projet de 61899 à 44300 Je pense que le simple fait de procéder à l’étape (2) a été décisif.

0
Ross Kelly

J'ai eu le même problème. Mon site HTTP fonctionnait correctement, mais IIS Express ne voulait tout simplement pas démarrer mon site SSL. Bien que ce fût la veille. 

Mon problème était que j'avais en quelque sorte foiré le fichier aplicationhost.config. Mon projet a été enregistré deux fois:

<site name="Test.Api" id="5">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\bartd\Source\Repos\Test\Test.Api" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:27108:localhost" />
    </bindings>
</site>
<site name="Test.Api(1)" id="6">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Users\bartd\Source\Repos\Test\Test.Api" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:27108:localhost" />
        <binding protocol="https" bindingInformation="*:44349:localhost" />
    </bindings>
</site>

Supprimer les deux entrées et créer un nouveau répertoire virtuel à partir de la page des propriétés du projet a résolu le problème. 

Création d'un nouveau répertoire virtuel à partir de la page de propriétés

0
bartd