ASP MVC dans IIS 7 se traduit par: Erreur HTTP 403.14 – Interdit

Je développe un projet web ASP MVC. Maintenant, j’ai une exigence qui me force à déployer dans un environnement de développement IIS7 (pour vérifier certaines fonctionnalités). Je reçois le message d’erreur mentionné ci-dessus chaque fois que j’essaie de taper l’URL du site Web. (Note: machine de développement: Vista Home Premium, IIS7)

Ce que j’ai fait jusqu’à maintenant:

Édité le fichier HOSTS (C: \ WINDOWS \ system32 \ drivers \ etc \ hosts).

Mettez-y deux domaines (127.0.0.1 domain1.com & 127.0.0.1 domain2.com).

Création d’un dossier c: \ websites \ dirOfApplication et déployé depuis Visual Studio 8 vers ce dossier.

Dans IIS7, créé un nouveau site avec le nom d’hôte domain1.com et le dossier d’application ci-dessus.

La saisie de l’adresse domain1.com dans le navigateur Web entraîne l’erreur ci-dessus (erreur HTTP 403.14 – Interdit – Le serveur Web est configuré pour ne pas répertorier le contenu de ce répertoire.)

Je pense que je manque quelque chose mais je ne sais pas quoi! Essayé de déployer les fichiers System.Web.Mvc, System.Web.Abstraction & System.Web.Routing avec le même résultat. Chaque fois que j’essaie de bash F5 et de lancer l’application, ça marche bien!

Peut-être est-il utile pour quelqu’un: après avoir converti mon application en MVC 4 avec .NET Framework 4.5 et installé le framework sur mon serveur avec IIS 7.0, j’ai rencontré la même erreur “interdite” mentionnée dans la question. J’ai essayé toutes les options décrites ci-dessus en vain, quand j’ai remarqué la

   

était absent de mon web.config. Après avoir ajouté ceci, tout a fonctionné. Simple mais facile à négliger …

MODIFIER:

Bien sûr, la solution ci-dessus fonctionnera, mais il s’agit bien d’un gaspillage de ressources. Je pense qu’il est préférable d’append le module de routage comme indiqué par Chris Herring dans les commentaires.

       

Répondu sur SO ici , question: 403 – Interdit sur MVC de base 3 déployer sur iis7.5

Exécutez aspnet_regiis -i . Souvent, j’ai trouvé que vous deviez le faire pour que les applications 4.0 fonctionnent. Ouvrez une invite de commande en tant Administrator (cliquez avec le bouton droit sur l’icône d’invite de commandes et sélectionnez Exécuter en tant qu’administrateur):

 cd \ cd Windows\Microsoft.NET\Framework\v4.xxx.xxx aspnet_regiis -i 

Une fois installé et enregistré, assurez-vous que votre application utilise un pool d’applications défini sur .NET 4.0.

MISE À JOUR: Je viens de trouver un problème avec cette commande. L’utilisation de -i a mis à jour tous les pools d’applications vers ASP.NET 4.0.

L’utilisation de aspnet_regiis -ir installe la version d’ASP.NET mais ne modifie aucune application Web pour cette version. Vous pouvez également vouloir revoir l’option -iru.

J’ai aussi rencontré cette erreur. Toute la configuration et les permissions étaient correctes. Mais j’ai oublié de copier Global.asax sur le serveur, et c’est ce qui a donné l’erreur 403.

C’est à cause de la certitude de ce que vous faites (moi)!

Sur mon ordinateur, IIS 7 est installé mais le composant ASP.NET requirejs (Panneau de configuration-> Programmes-> Activer / Désactiver-> ASP.NET) ne l’est pas.

L’installation de ce problème a donc résolu le problème

Dans mon cas, l’approche suivante m’a aidé à:

  1. aspnet_regiis -i dans Windows\Microsoft.Net\Framework

  2. Ajout de modules à system.webServer

       ...  

J’ai eu le même problème. Cet article de support Microsoft l’a corrigé pour moi.
https://support.microsoft.com/en-us/help/2023146/mvc-2-and-asp.net-4-web-forms-applications-that-use-url-routing-might-return-http- 404-erreurs-quand-ils-tentent-de-traiter-sans-extension-urls-on-iis-7-and-iis-7.5

Dans la boîte de dialog “Activer ou désactiver des fonctionnalités Windows” de l’application “Programmes et fonctionnalités” du Panneau de configuration Windows, procédez comme suit:

  1. Naviguez jusqu’au nœud suivant: Internet Information Services -> Services World Wide Web -> Fonctionnalités HTTP communes
  2. Assurez-vous que l’option “HTTP Error Redirection” est sélectionnée.

-ou-

  1. Naviguez jusqu’au nœud suivant: Internet Information Services -> Services World Wide Web -> Fonctionnalités de performance
  2. Assurez-vous que l’option “Compression de contenu statique” est sélectionnée. Une fois l’une ou l’autre option sélectionnée, cliquez sur “OK” pour enregistrer les modifications.

La réactivation du module HTTP Error Redirection ou du module Static Content Compression garantit que ASP.NET et IIS synchronisent correctement les événements de pipeline HTTP. Cela permet au module de routage d’URL de traiter les URL sans extension.

Essayez d’appliquer les parameters suivants indiqués ci-dessous:

1) Donnez les permissions nécessaires à l’utilisateur IIS_IUSRS sur le IIS Server (cliquez avec le bouton droit sur le site Web, puis sélectionnez Modifier les permissions> Sécurité).

entrer la description de l'image ici

2) Si vous utilisez .NET Framework 4 , assurez-vous que la version de .NET Framework est la v4.0 sur le Application Pool utilisé par votre site Web.

entrer la description de l'image ici

J’espère que cela t’aides…

Vérifiez également, si vous exécutez x64, que vous avez activé les applications 32 bits dans les parameters du pool d’applications.

entrer la description de l'image ici

Sur la case “Précomstackr pendant la publication” décochée – j’obtiens l’ erreur 403.14 sur un service Web que je venais d’écrire dans VS2015, alors je l’ai réécrit dans VS2013 et j’obtiens la même erreur. Dans les deux cas, “Précomstackr pendant la publication” était activé. Je l’ai décochée mais j’ai toujours eu l’erreur. Dans mon cas, j’avais également ” Supprimer tous les fichiers existants avant de publier ” mais ne supprimait pas tout du répertoire cible sur le serveur avant de copier les nouveaux fichiers publiés. Si vous ne le faites pas, un fichier ” PrecomstackdApp.config ” est conservé, ce qui cause le problème. Une fois que j’ai supprimé ce fichier, j’étais sur les versions VS2013 et VS2015 de mon service Web.

Veuillez noter parfois que le Managed pipeline mode provoque cette erreur. Il y a deux choix pour sélectionner integrated et classic .

Comment réparer «Erreur HTTP 403.14 – Interdit Le serveur Web est configuré pour ne pas répertorier le contenu de ce répertoire»

Cette erreur se produit lorsque MVC 2+ est exécuté sur IIS 7+, car ASP.NET 4 n’a pas été enregistré dans IIS. Dans mon cas, je créais un projet MVC 3 et je l’hébergeais sur IIS 7.5.

Pour y remédier, assurez-vous que MVC 2 ou version ultérieure et .Net Framework 4.0 sont installés, puis exécutez une invite de commande en tant qu’administrateur et tapez la ligne suivante:

32 bits (x86)

% windir% \ Microsoft.NET \ Framework \ v4.0.30319 \ aspnet_regiis.exe -ir

64 bits (x64)

% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_regiis.exe -ir

Si les réponses supérieures ne fonctionnent pas, recherchez une configuration nommée PrecomstackdApp.config dans le répertoire d’hébergement et supprimez-la si elle existe. Ce fichier empêche IISExpress et LocalIIS de fonctionner correctement. (Et je pense que c’est un bug) Le contenu du fichier dans mon cas était:

  

Et je suis 100% positif que c’était le problème avec mon cas puisque j’ai tout essayé en 2 heures et testé beaucoup de fois avec cette configuration.

aspnet_regiis une chose: vous ne pouvez pas utiliser aspnet_regiis dans les nouvelles versions de Windows et IIS, alors essayez

 dism /online /enable-feature /featurename:IIS-ASPNET45 /all 

J’ai tout essayé ici; rien n’a fonctionné. Le problème était dans mon fichier Web.config , la liaison de l’assembly dépendant était en quelque sorte passée de minimum 1 à minimum 0 .

         

J’ai également rencontré cette même erreur, malgré toutes les solutions fournies pour les raisons suivantes:

  • DLL manquantes
  • La chaîne de connexion à la firebase database pointe vers un serveur inaccessible.

Vérifiez votre fichier Global.asax . Dans mon cas, c’était vide.

Dans mon cas, web.config et tous les fichiers sauf le dossier / bin étaient manquants (pas copiés en quelque sorte).
Silly, mais c’était la dernière chose que j’ai vérifiée.

J’ai récemment eu cette erreur et j’ai constaté que le problème était dû à la fonctionnalité “Redirection HTTP” qui n’était pas activée sur mon serveur Windows. Cet article de blog m’a aidé à résoudre le problème pour trouver la réponse (bien qu’il s’agisse d’anciennes versions de Windows Server): http://blogs.msdn.com/b/rjacobs/archive/2010/06/30/system-web-routing-routetable -not-working-with-iis.aspx pour les serveurs plus récents, accédez à Gestion de l’ordinateur, puis faites défiler jusqu’au rôle Serveur Web et cliquez sur add role services

J’ai utilisé l’identité usurpation d’identité:

    

En poussant vers le serveur, vous devez donner le nom d’utilisateur au dossier Temporary ASP.NET Files afin qu’il puisse lire, écrire et exécuter correctement:

C:\Windows\Microsoft.NET\"frameworkversion"\"aspversion"\Temporary ASP.NET Files

Évidemment remplacer “frameworkversion” et “aspversion” avec les versions que vous utilisez.

J’utilise: Win Server 2012 R2 / IIS 8.5 / MVC4 / .Net 4.5

Si aucun des éléments ci-dessus n’a fonctionné, essayez ceci:

Désélectionnez “Précomstackr lors de la publication”

Cela m’a donné un coup de pied pendant quelques jours.

Avec le projet ASP.NET avec C # 4.5, j’ai résolu ce problème en installant l’ extension ASP.NET dans Web Platform Installer

Aussi une autre chose peut être possible

installer .net framework 4.0 manuellement

Cette solution est pour IIS7 sur la fenêtre 7

ouvrir cmd avec l’administration prévileges

allez dans le répertoire “C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319”

tapez aspnet_regiis.exe -i

arrivé à votre inet manager en tapant la commande run “inetmgr”

rafraîchir votre IIS7

recharger le site.

J’ai eu ce problème, mais il a été résolu facilement en allant dans le Gestionnaire des services Internet (IIS), en double-cliquant sur Directory Browsing et en cliquant sur Activer.

Dans mon cas, je pouvais accéder directement aux fichiers mais je ne pouvais pas accéder aux dossiers.

Je sais que vous avez eu ce problème dans un hôte interne, mais j’avais déjà rencontré un tel problème dans un hôte externe et dans mon cas, il avait sa propre résolution, peut-être que cela pourrait sauver du temps pour quelqu’un:

En fait, mon site Web a été arrêté pour une raison que je ne connais pas, pour le vérifier si vous avez le même problème, dans la page principale de WebsitePanel, allez sur Web -> Sites Web, puis sélectionnez le nom de domaine de votre site Web. , après cela, dans la partie droite de la page que vous venez d’ouvrir, vérifiez si vous voyez le mot STARTED, sinon, si vous voyez le mot STOPPED, faites-le redémarrer. C’est tout.

J’avais mal saisi l’adresse IP par un chiffre, ce qui signifiait qu’elle allait sur l’un de mes autres serveurs. Très confus car vous obtenez une page d’erreur .NET mais de la mauvaise machine!

Je sais que c’est un ancien sujet, mais vous pouvez également obtenir cette erreur (lorsque vous déboguez) si vous avez un dossier nommé identique à une route dans un contrôleur.

Par exemple, si vous avez un UserController, avec un itinéraire appelé / User et que vous avez également un dossier dans votre solution appelé “User”, IISExpress essaiera de parcourir le dossier au lieu de montrer votre vue.

Étape 1: Sélectionnez le site pour lequel l’erreur HTTP est générée dans IIS, puis cliquez sur Navigation dans le répertoire, comme illustré ci-dessous:

Étape 2: Dans la fenêtre de navigation du répertoire dans IIS, cliquez sur Activer dans les actions à droite, comme indiqué dans le diagramme ci-dessous:

Maintenant, la navigation dans les répertoires est activée pour votre site Web asp.net, il vous suffit de redémarrer l’application Web dans IIS et de parcourir le site dans votre navigateur pour voir le résultat.

vous pouvez facilement le résoudre en procédant comme suit:

Ouvrez le gestionnaire iis et choisissez votre site à déployer (à partir du panneau hiérarchique gauche), puis double-cliquez sur l’icône de l’application pour ouvrir le dialog de paramétrage de l’application . Activé et la valeur définie sur true (qui est fausse par défaut).

cela a fonctionné pour moi parce que j’ai fait la même erreur avant même que je permette la navigation de répertoire (comme le guide officiel iis recommandé dans le forum d’IIS) mais quand j’ai parcouru le site a semé une liste de répertoires plutôt les étapes ci-dessus le problème résolu et tout a bien fonctionné (mais n’oubliez pas d’accorder l’access pour asppool dans les connexions SQL après avoir résolu ce problème bien sûr)

comme je l’ai dit ça a bien marché pour moi j’espère que ça marche bien pour toi aussi bonne chance