web-dev-qa-db-fra.com

Erreur HTTP 403.14 - Erreur interdite lors de l'accès au site Web

J'ai donc tout le code mis à jour, la solution complète est construite. Cela fonctionne sur la machine de tout le monde, mais lorsque j'essaie d'accéder à localhost/extranet sur ma machine, cela me donne l'erreur suivante:

Erreur HTTP 403.14 - Interdit

Informations d'erreur détaillées:

Module DirectoryListingModule
Notification ExecuteRequestHandler
Handler 0x00000000
Requested URL   http://localhost:80/extranet/
Physical Path C:\svn\K2\trunk\appteam\web\Chatham.Web.UI.Extranet\
Logon Method Anonymous
Logon User Anonymous

Maintenant, j'essayais d'aller dans IIS7 et d'activer la navigation dans les répertoires. Cela supprimait l'erreur, mais je n'avais toujours pas affiché mon site Web. J'ai aussi essayé d'entrer et de désactiver le document par défaut, de le réactiver, tout, rien n'a fonctionné. J'ai également redémarré IIS plusieurs fois sans résultat.

Des idées?

6
slandau

Il semble que votre IIS ne traite pas les règles de routage de votre application et essaie de trouver un fichier default.aspx, index.htm, etc. Comme il ne le peut pas, il souhaite afficher les listes de répertoires (qui C’est pourquoi vous avez reçu le 404.14). 

Je viens de vérifier ma configuration de développement et je pense que votre AppPool doit être défini sur Integrated par opposition à Classic sur le pipeline géré pour AppPool. J'ai déjà rencontré ce problème auparavant. Il existe peut-être des moyens d'utiliser le pipeline classique, mais ce serait/devrait être le moyen le plus rapide de résoudre votre problème. Pour vérifier/modifier le mode de pipeline, cliquez sur Pools d'applications dans le menu situé à gauche d'IIS, recherchez votre AppPool et recherchez dans la colonne de pipeline gérée. S'il est défini sur Classique -> Cliquez avec le bouton droit sur l'AppPool, choisissez les paramètres de base, puis modifiez le menu déroulant de Classique à Intégré.

Si je me trompe, s'il vous plaît, n'hésitez pas à me corriger dans les commentaires.

Edit - Juste pour ajouter, vous pouvez exécuter une application MVC en mode Pipeline classique, mais vous devez effectuer les astuces IIS 6 pour le faire fonctionner correctement. Vous devez principalement activer le mappage de script générique pour que MVC fonctionne en mode classique. Sinon, un fichier .aspx (ou similaire) existe pour gérer le pipeline d’exécution vers .NET à partir d’IIS.

9
Tommy

Causes cette erreur est supprimée Global.asax fichier de votre répertoire racine de votre site. 

Pour résoudre ce problème, ajoutez un fichier Global.asax à votre projet.

Voir ici: Comment ajouter un fichier Global.asax au projet ASP.NET MVC4

6
Samiey Mehdi

Dans IIS, vous devez déterminer le pool d'applications à partir duquel votre application s'exécute. Cliquez simplement avec le bouton droit sur l’application Web sous Sites>Manage Web Site>Advanced Settings. La première propriété devrait être le pool d'applications.

Maintenant, cliquez sur Application Pools. Vous devriez voir une colonne appelée "Identity". Ajoutez cet utilisateur à la liste de contrôle d'accès du répertoire C:\svn\K2\trunk\appteam\web\Chatham.Web.UI.Extranet\. Si elle indique simplement 'ApplicationPoolIdentity', cela peut être un peu compliqué déterminer l'utilisateur . Si vous utilisez simplement DefaultAppPool, vous pouvez utiliser IIS AppPool\DefaultAppPool.

3
scottm

Modifiez la "page de démarrage" en cliquant avec le bouton droit de la souris sur la page et sélectionnez "Définir en tant que page de démarrage" que vous souhaitez ouvrir au premier démarrage de l'application Web. Cela pourrait résoudre votre problème. :)

2
Piyush Agrawal

Ma solution était parce que je n'avais pas ASP.NET installé via "Activer et désactiver des fonctionnalités Windows", donc c'était simple. Je l'ai compris en activant l'explorateur de répertoires et en essayant d'accéder à mon dossier de vues, ce qui a donné une réponse plus descriptive et a indiqué à peu près qu'il y avait un problème avec un module car ASP.NET n'était pas correctement installé. Il a ensuite commencé à aller l’installer.

0
Daniel Jackson

J'ai résolu ce problème en définissant un cadre .net exact. Mon site Web utilisait la version v4.0 de .net.

  • Solution de contournement pour résoudre le problème:
    1. Ouvrir la ligne de commande en tant qu'administrateur
    2. Allez dans le répertoire "C:\Windows\Microsoft.NET\Framework\v4.0.30319".
    3. Exécutez les éléments suivants: aspnet_regiis.exe -i
    4. Ouvrez IIS et changez le mode Pipeline de votre application en mode intégré.

J'espère que cela t'aides

0
Davronbek Rahmonov

Assurez-vous également que, dans IIS Paramètres du pool d'applications, Enabled 32-bit Applications sous Advanced Settings est défini sur FALSE. J'ai passé des heures à essayer de résoudre ce problème et c'était mon problème. Windows Server 2012 IIS 8.5

0
smarc18