91 votes

MVC4 D’erreur HTTP 403.14 - interdit

Je dois construire une .net4.5 ASP.NET MVC4 web app qui fonctionne très bien en local (IIS Express & serveur de dev), mais une fois que j'ai de le déployer pour mon serveur web, il jette l'erreur 403. J'ai installé .Net 4.5 RC sur le serveur et même essayé de l' aspnet_regiis -i peu que tout le monde recommandés pour leurs problèmes avec les versions précédentes de la MVC/.Net, mais il n'a pas aidé.

Des idées?

EDIT: Plus d'info à propos de la situation. Le serveur est en 32 bits et j'ai 4 autres MVC3 applications qui fonctionnent bien. C'est juste mon MVC4 application qui ne fonctionne pas.

172voto

MarkKGreenway Points 2987

22voto

Tommy Points 17332

Erreur 403.14 est le code d'erreur HTTP pour ne pas avoir la possibilité de lister le contenu d'un répertoire. Assurez-vous que

  1. Vous avez défini le site web comme une application dans IIS
  2. Vous avez .NET 4.5 est installé sur le serveur
  3. Vous avez défini le pool d'applications pour exécuter la version appropriée de la .NET framework (ie. elle ne l'est pas .NET 2.0
  4. Vous utilisez le pipeline intégré sur votre pool d'applications
  5. .NET 4.5 est effectivement enregistrée dans IIS. Veuillez consulter ce post pour un problème similaire/résolution

Habituellement, a et d sont les plus grands enjeux entourant MVC déploiements de IIS

12voto

Peut-être... S’il vous arrive d’utiliser l’Assistant Publication (comme moi) et sélectionnez la case à cocher « Precompile lors de la publication » (comme moi) et voir les mêmes symptômes...

Oui, j’ai moi-même battu sur la tête, mais après décochant cette case, un cadre apparemment indépendant, tous les symptômes décrits disparaissent après le redéploiement.

J’espère que cela corrige certaines personnes.

5voto

user641770 Points 51

Il y a un peu de remaniement --> Renommer Bug dans Visual Studio 2012 qui, à tort, rebaptisée la "id" à l'intérieur de la chaîne de valeur du paramètre de l'url dans mon RouteConfig.cs. Cela a provoqué une 403.14 frais et sinon corriger le programme d'installation de Windows Server 2012 et Windows Server 2008 R2.

routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

a été changé pour

routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{renamed_text}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
        );

2voto

Mastro Points 429

Si vous exécutez IIS 8,5 sur Windows 8, ou serveur 2012, vous trouverez peut-être que le mvc 4/5 (.net 4.5) ne fonctionne pas dans un répertoire virtuel. Si vous créez une entrée de l’hôte local dans le fichier host pour pointer vers votre ordinateur local, puis pointez un nouveau site IIS local vers ce dossier (avec l’entrée d’en-tête hôte correspondant), vous trouverez que ça marche ensuite.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X