Vous recevez une « erreur HTTP 403 : interdit » erreur pendant que vous travaillez dans des projets d’Application Web de ASP.NET avec SSL activé


Symptômes


Vous pouvez recevoir une erreur similaire dans les cas suivants :
  • Lorsque vous créez une application Web ASP.NET de Microsoft dans Microsoft Visual Studio .NET, et vous configurez l’authentification de certificat Secure Sockets Layer (SSL) sur le projet d’application Web d’ASP.NET, vous pouvez recevoir le message d’erreur lorsque vous essayez de rouvrir le Web ASP.NET projet d’application dans l’IDE de Visual Studio :
    Impossible d’ouvrir le projet Web 'AspwebApp1'. Le chemin d’accès du fichier 'C:\Inetpub\wwwroot\AspwebApp1' ne correspond pas à l’URL ' http://Localhost : / AspwebApp1 ». Les deux doivent mapper vers le même emplacement de serveur. Erreur HTTP 403 : interdit
    - ou -
  • Vous avez créé un répertoire virtuel dans lequel vous allez créer une application ASP.NET. Activer l’authentification de la SSL dans Internet Information Services (IIS) pour le projet qui est créé dans le dossier. Lorsque vous essayez de créer un nouveau projet d’application Web avec le nom du répertoire virtuel, vous pouvez recevoir le message d’erreur suivant :
    Impossible de créer le projet Web 'AspwebApp2'. Le chemin d’accès du fichier ' C\Inetpub\wwwroor\AspwebApp2\ ne correspond pas à l’URL 'http://localhost/AspwebApp2'. Les deux doivent mapper vers le même emplacement de serveur. Erreur HTTP 403 : interdit

Solution de contournement


Pour contourner ce problème, utilisez une URL https au lieu de http lorsque vous ouvrez ou que vous créez un nouveau projet. Pour ce faire, procédez comme suit :

Ouvrir un projet ASP.NET existant après que l’Option SSL est activée.

Lorsque vous activez le projet ASP.NET existant avec SSL, remplacez la valeur de l’attribut URLPath dans le fichier webinfo à partir de http vers https. Pour ce faire, procédez comme suit :
  1. Recherchez le dossier de projet (C:\inetpub\wwwroot\AspWebTest1).
  2. Dans le bloc-notes, ouvrez le fichier AspWebTest.csproj.webinfo ou AspWebTest.vbproj.webinfo.
  3. Remplacez la valeur de l’attribut URLPath https comme suit :
    <VisualStudioUNCWeb> <Web URLPath ="https://ServerName/AspWebTest1/AspWebTest1.csproj" /></VisualStudioUNCWeb>
    Remarque Vous devez remplacer le nom du serveur avec le nom de domaine du serveur. C’est le nom que le certificat est délivré à. S’il y a une incompatibilité, le message d’erreur suivant s’affiche :
    Le nom d’hôte dans le certificat n’est pas valide ou ne correspond pas
  4. Enregistrez et fermez le fichier AspWebTest.csproj.webinfo.
  5. Dans Visual Studio .NET, ouvrez le projet AspWebTest1.

Créer un nouveau projet ASP.NET dans le répertoire virtuel SSL activé

Créer un répertoire virtuel avec SSL activé et ouvrez le projet Web avec une URL https . Pour ce faire, procédez comme suit :
  1. Démarrez Visual Studio .NET.
  2. Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet.
  3. Sélectionnez projets Visual C# ou Visual Basic projet , sous Types de projets.
  4. Sélectionnez l’Application Web d’ASP.NET.
  5. Dans la zone emplacement , tapez https://localhost/AspWebTest2.
  6. Pour créer le projet, cliquez sur OK.

Statut


Ce comportement est inhérent au produit.

Informations supplémentaires


Procédure pour reproduire le problème

Ouvrir un projet ASP.NET existant avec SSL activé

  1. Pour créer une application Web d’ASP.NET, procédez comme suit :
    1. Démarrez Visual Studio .NET.
    2. Créer une nouvelle application Web d’ASP.NET dans Visual C# .NET ou Visual Basic .NET et nommez le fichier AspWebTest1.
    3. Dans le menu Générer, cliquez sur Générer la solution.
    4. Fermez l’IDE de Visual Studio.
  2. Pour configurer un certificat de serveur SSL, procédez comme suit : Pour plus d’informations sur la façon d’installer un certificat de serveur, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
    315588 comment sécuriser une application ASP.NET à l’aide de certificats côté client
  3. Pour ouvrir l’application Web d’ASP.NET Project, procédez comme suit :
    1. Démarrez Visual Studio .NET.
    2. Dans le menu fichier , pointez sur Ouvrir, puis cliquez sur projet.
    3. Recherchez le dossier \inetpub\wwwroot\AspWebTest1 % windir %.
    4. Sélectionnez le fichier AspWebTest1.csproj ou AspWebTest1.vbproj .
    5. Cliquez sur Ouvrir. Vous pouvez remarquer l’erreur qui est décrit dans la section « Symptômes » de cet article.

Créer un nouveau projet ASP.NET dans un répertoire virtuel activé pour SSL

  1. Pour créer un répertoire virtuel, procédez comme suit :
    1. À l’invite de commandes, recherchez le % windir %\inetpub\wwwroot et puis créez un dossier nommé AspWebTest2. C:\inetpub\wwwroot\AspWebTest2 est créé.
    2. Cliquez sur C:\inetpub\wwwroot\AspWebTest2, puis cliquez sur Propriétés. Par défaut, la fenêtre Propriétés s’affiche.
    3. Cliquez sur l’onglet partage Web . Par défaut, le Site Web par défaut est sélectionné dans la zone ShareOn .
    4. Activez la case à cocher partager ce dossier , puis cliquez sur OK.
    5. Dans la fenêtre Modifier l’Alias, cliquez sur OK.
    6. Dans la fenêtre Propriétés, cliquez sur OK.
  2. Pour définir le paramètre de sécurité SSL dans IIS, procédez comme suit :
    1. Cliquez sur Démarrer, pointez sur programmes, pointez sur Outils d’administration, puis cliquez sur Gestionnaire des Services Internet.
    2. Développez votre serveur, puis cliquez sur Site Web par défaut.
    3. Dans le menu Action , cliquez sur Propriétés.
    4. Sous l’onglet Sécurité de répertoire , cliquez sur Modifier sous communications sécurisées.
    5. Activez la case à cocher Requérir un canal sécurisé (SSL) , puis cliquez sur OK.
  3. Pour créer un nouveau projet Web, procédez comme suit :
    1. Démarrez Visual Studio .NET.
    2. Dans le menufichier , pointez sur Nouveau, puis cliquez sur projet.
    3. Sélectionnez projets Visual C# ou projets de Visual Basic sous Types de projets.
    4. Sélectionnez l’Application Web d’ASP.NET.
    5. Dans la zone emplacement , tapez http://localhost/AspWebTest2.
    6. Cliquez sur OK. Vous pouvez remarquer l’erreur qui est décrit dans la section « Symptômes » de cet article.

Références


Pour plus d’informations, cliquez sur les numéros ci-dessous pour afficher les articles correspondants dans la Base de connaissances Microsoft :
315588 comment sécuriser une application ASP.NET à l’aide de certificats côté client
298805 comment activer SSL pour tous les clients qui interagissent avec votre site Web dans Internet Information Services