Je développe un projet web ASP MVC. Maintenant, j'ai une exigence qui m'oblige à déployer sur un IIS7 au milieu du développement (pour vérifier certaines fonctionnalités). Je reçois le message d'erreur mentionné ci-dessus chaque fois que j'essaye de taper l'URL du site Web. (Remarque: machine de développement: Vista Home Premium, IIS7)
Ce que j'ai fait jusqu'à présent:
Modification du fichier HOSTS (C: \ WINDOWS \ system32 \ drivers \ etc \ hosts).
Mettez-y deux domaines (127.0.0.1 domain1.com et 127.0.0.1 domain2.com).
Créé un dossier c: \ sites Web \ dirOfApplication et déployé à partir de Visual Studio 8 vers ce dossier.
Dans IIS7 a 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 qu'il me manque quelque chose mais je ne sais pas quoi! J'ai 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 d'appuyer sur F5 et d'exécuter l'application, cela fonctionne bien!
la source
Réponses:
Peut-être que c'est 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é le
manquait dans mon web.config. Après avoir ajouté cela, tout a fonctionné. Simple, mais facile à négliger ...
ÉDITER:
Bien sûr, la solution ci-dessus fonctionnera, mais c'est effectivement un gaspillage de ressources. Je pense qu'il vaut mieux ajouter le module de routage comme indiqué par Chris Herring dans les commentaires.
la source
runAllManagedModulesForAllRequests="true"
de mon Web.config. Merci d'avoir mentionné cela avant de passer toute la nuit à essayer de comprendre cela.Réponse sur SO ici , question: 403 - Interdit sur le déploiement de base de MVC 3 sur iis7.5
Courez
aspnet_regiis -i
. J'ai souvent constaté que vous deviez le faire pour que les applications 4.0 fonctionnent. Ouvrez une invite de commande en tant queAdministrator
(cliquez avec le bouton droit sur l'icône d'invite de commande et sélectionnez Exécuter en tant qu'administrateur):Une fois qu'il a 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
aspnet_regiis -ir
installe la version d'ASP.NET mais ne modifie aucune application Web vers cette version. Vous pouvez également consulter l'option -iru.la source
J'ai moi aussi rencontré cette erreur. Toute la configuration et les autorisations étaient correctes. Mais j'ai oublié de copier Global.asax sur le serveur, et c'est ce qui a donné l'erreur 403.
la source
C'est parce que vous êtes trop sûr de ce que vous (moi) faites!
Sur ma machine, IIS 7 est installé mais le composant ASP.NET requis (Panneau de configuration-> Programmes-> Activer / désactiver-> ASP.NET) ne l'était pas.
Donc, l'installation de ceci a résolu le problème
la source
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-essaient-de-traiter-des-urls-sans-extension-sur-iis-7-et-iis-7.5
Dans la boîte de dialogue "Activer ou désactiver les fonctionnalités Windows" de l'application "Programmes et fonctionnalités" du Panneau de configuration Windows, procédez comme suit:
-ou-
La réactivation du module de redirection d'erreur HTTP ou du module de compression de contenu statique garantit qu'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.
la source
Essayez d'appliquer les paramètres suivants indiqués ci-dessous:
1) Donnez l'autorisation nécessaire à l'
IIS_IUSRS
utilisateur surIIS Server
(Faites un clic droit sur le site Web puis Modifier les autorisations> Sécurité).2) Si vous utilisez
.NET Framework 4
, assurez-vous que la version .NET Framework se trouvev4.0
surApplication Pool
celle utilisée par votre site Web.3) Ouvrez Commanp Prompt as
administrator
et exécutez laiisreset
commande afin de redémarrerIIS Server
.J'espère que cela t'aides...
la source
Dans mon cas, l'approche suivante m'a aidé:
aspnet_regiis -i
dansWindows\Microsoft.Net\Framework
Ajout de modules à system.webServer
la source
Veuillez également vérifier, si vous exécutez x64, que vous avez activé les applications 32 bits dans les paramètres du pool d'applications
la source
Sur la décocher "Précompiler pendant la publication" - J'obtenais l' erreur 403.14 sur un service Web que je venais d'écrire dans VS2015, donc je l'ai réécrit dans VS2013 et obtenais la même erreur. Dans les deux cas, j'ai activé "Précompiler pendant la publication". Je l'ai décoché mais j'obtenais toujours l'erreur. Dans mon cas, j'avais également " Supprimer tous les fichiers existants avant de publier ", mais je ne supprimais 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 " PrecompiledApp.config " est laissé derrière, ce qui cause le problème. Une fois que j'ai supprimé ce fichier, j'étais en or sur les versions VS2013 et VS2015 de mon service Web.
la source
J'ai tout essayé ici; rien n'a fonctionné. Le problème était dans mon
Web.config
fichier, la liaison d'assembly dépendante a été modifiée du minimum1
au minimum0
.la source
Veuillez noter que parfois une erreur
Managed pipeline mode
provoquera cette erreur. Il y a deux choix pour sélectionnerintegrated
etclassic
.la source
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 hébergé 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ébergais sur IIS 7.5.
Pour résoudre ce problème, assurez-vous que MVC 2 ou supérieur 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
la source
Vérifiez votre fichier Global.asax . Dans mon cas, c'était vide.
la source
Si les principales réponses ne fonctionnent pas, recherchez une configuration nommée
PrecompiledApp.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 sûr à 100% que c'était le problème avec mon étui puisque j'ai tout essayé en 2 heures et testé de nombreuses fois avec cette configuration.
Une dernière chose: vous ne pouvez pas utiliser
aspnet_regiis
dans les versions plus récentes de Windows et IIS alors essayezla source
Panneau de configuration> activer ou désactiver les fonctionnalités de Windows> Serveur Web> Développement d'applications
Vérifiez ASP.NET
la source
J'ai également rencontré cette même erreur, malgré toutes les solutions proposées pour les raisons suivantes:
la source
Dans mon cas, web.config et tous les fichiers à l'exception du dossier / bin étaient manquants (pas copiés d'une manière ou d'une autre).
C'est idiot, mais c'est la dernière chose que j'ai vérifiée.
la source
J'ai récemment eu cette erreur et j'ai constaté que le problème était dû au fait que la fonctionnalité «Redirection HTTP» 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
la source
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
la source
Encore une chose peut être possible
installer .net framework 4.0 manuellement
Cette solution est pour IIS7 sur la fenêtre 7
cmd ouvert avec les privilèges d'administration
aller dans le répertoire "C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319"
tapez aspnet_regiis.exe -i
accéder à votre gestionnaire inet en tapant la commande d'exécution "inetmgr"
actualisez votre IIS7
rechargez le site.
la source
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 faire gagner du temps à quelqu'un:
En fait, mon site Web a été ARRÊTÉ pour une raison dont je ne suis actuellement pas au courant, 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 dans la liste , après cela dans le côté droit de la page qui vient d'être ouverte, vérifiez si vous voyez le mot STARTED, sinon si vous voyez le mot STOPPED, faites-le recommencer. C'est tout.
la source
Je sais que c'est un vieux sujet, mais vous pouvez également obtenir cette erreur (lorsque vous déboguez) si vous avez un dossier nommé de la même manière qu'une route dans un contrôleur.
Par exemple, si vous avez un UserController, avec une route appelée / User et que vous avez ÉGALEMENT un dossier dans votre solution appelé "User" alors IISExpress essaiera de parcourir le dossier au lieu d'afficher votre vue.
la source
Après avoir essayé toutes les solutions suggérées ici, j'ai trouvé une autre solution possible: URLScan
L'IIS avait WebDAV désactivé, même dans le web.config de mon application, le gestionnaire et le module de WebDAV ont été supprimés. Les PUT renvoyaient toujours un 403 - Interdit sans aucune entrée de journal dans les journaux IIS. (GET / POST a bien fonctionné).
Il s'avère que l'IIS avait un filtre ISAPI actif (l'URLScan) activé, ce qui empêchait tous les PUT. Après avoir supprimé URLScan, cela a fonctionné pour moi.
la source
Ma situation était complètement différente de celle-ci et le message d'erreur 403: Interdit était un peu un hareng rouge.
Si votre fonction Application_Start () dans le module Global.asax essaie d'accéder au web.config et qu'une entrée à laquelle il fait référence n'est pas là, IIS s'étouffe et (pour une raison quelconque) lève le message d'erreur 403: Forbidden.
Vérifiez que vous ne manquez pas une entrée dans le fichier web.config qui tente d'être accessible dans votre module Global.asax.
la source
Si vous êtes comme moi et que vous avez une application utilisant NHibernate et que les réponses ci-dessus n'ont pas résolu votre problème.
Vous devriez regarder la chaîne de connexion dans votre application; éventuellement dans le fichier webconfig pour s'assurer qu'il est correct.
la source
J'utilise Identity Impersonate:
Lors de la poussée vers le serveur, vous devez donner au nom d'utilisateur l'accès au
Temporary ASP.NET
dossier Files afin qu'il puisse lire / écrire / s'exécuter correctement:C:\Windows\Microsoft.NET\"frameworkversion"\"aspversion"\Temporary ASP.NET Files
Remplacez évidemment "frameworkversion" et "aspversion" par les versions que vous utilisez.
la source
Étape 1: Sélectionnez le site pour lequel l'erreur HTTP est produite dans IIS, puis cliquez sur Exploration de répertoire comme indiqué dans l'image ci-dessous:
Étape 2: Dans la fenêtre de navigation de répertoire dans IIS, cliquez sur Activer dans les actions sur le côté droit comme indiqué dans le diagramme ci-dessous:
La navigation dans l'annuaire est maintenant activée pour votre site Web asp.net, redémarrez simplement l'application Web dans IIS et parcourez le site dans votre navigateur et voyez le résultat.
la source
J'utilise: Win Server 2012 R2 / IIS 8.5 / MVC4 / .Net 4.5
Si aucune des solutions ci-dessus n'a fonctionné, essayez ceci:
Cela m'a donné un coup de pied dans les fesses pendant quelques jours.
la source
J'ai eu ce problème, mais il a été résolu facilement en accédant au gestionnaire des services Internet (IIS), en double-cliquant sur la navigation dans l'annuaire et en cliquant sur Activer.
Dans mon cas, je pouvais accéder directement aux fichiers mais je ne pouvais pas accéder aux dossiers.
la source
J'avais mal saisi l'adresse IP d'un chiffre, ce qui signifiait qu'elle allait à l'un de mes autres serveurs. Très déroutant car vous obtenez une page d'erreur .NET mais de la mauvaise machine!
la source