7 résultats dans: Erreur HTTP 403.14-Forbidden
je développe un projet Web ASP MVC. Maintenant, j'ai une exigence qui me force à me déployer dans un mode 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:WINDOWSsystem32driversetchosts).
Mettre deux des domaines (127.0.0.1 domain1.com et 127.0.0.1 domain2.com).
a créé un dossier c:websitesdirOfApplication 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.
tapant l'adresse domain1.com dans les résultats de navigateur Web dans l'erreur ci - dessus (erreur HTTP 403.14 - Forbidden-le serveur Web est configuré pour ne pas énumérer les le contenu de ce répertoire.)
je pense que je manque quelque chose mais je ne sais pas quoi! Essayé de déployer le Système de fichiers.Web.Mvc, Système.Web.L'Abstraction Et Du Système.Web.Routage avec le même résultat. Chaque fois que j'essaie de frapper F5 et exécuter l'application, il fonctionne très bien!
27 réponses
peut-être que c'est utile à 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
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
a disparu de ma toile.config. Après avoir ajouté ceci, tout a fonctionné. Simple, mais facile à négliger...
EDIT:
bien sûr, la solution ci-dessus fonctionnera, mais c'est en effet un gaspillage de ressources. Je pense qu'il est préférable d'ajouter le module de routage comme indiqué par Chris Herring dans les commentaires.
<system.webServer>
<modules>
<remove name="UrlRoutingModule-4.0" />
<add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
</modules>
</system.webServer>
, a Répondu sur DONC ici , la question: 403 - Interdit sur base MVC 3 déployer sur iis7.5
Exécuter aspnet_regiis -i
. Souvent, j'ai trouvé que vous devez faire pour obtenir 4.0 applications. Ouvrez une invite de commande comme un Administrator
(clic droit sur l'icône de l'invite de commande et sélectionnez Exécuter en tant qu'administrateur):
cd \
cd Windows\Microsoft.NET\Framework\v4.xxx.xxx
aspnet_regiis -i
une fois qu'il a installé et enregistré, assurez-vous que votre application utilise une application la piscine qui est défini .NET 4.0.
mise à jour: je viens de trouver un problème avec cette commande. Utilisation-j'ai mis à jour tous les répertoires d'applications pour ASP.NET 4,0.
avec aspnet_regiis -ir
installe la version de ASP.NET mais ne change aucune application web à cette version. Vous pouvez également examiner l'option-iru.
j'ai moi aussi rencontré cette erreur. Toutes les configurations et permissions étaient correctes. Mais j'ai oublié de copier Mondiale.asax au serveur, et c'est ce qui a donné l'erreur 403.
c'est parce que vous êtes trop sûr de ce que vous (moi) faites!
sur ma machine il y a IIS 7 installé mais le nécessaire ASP.NET composant (Panneau de contrôle - > programmes - >allumer/éteindre->ASP.NET) n'était pas.
donc l'installation de cette solution a résolu le problème
dans mon cas, l'approche suivante m'a aidé:
-
aspnet_regiis -i
dansWindows\Microsoft.Net\Framework
-
ajouter des modules au système.webServer
<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> ... </system.webServer>
j'ai eu le même problème. Cet article de soutien de 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-errors-when-they-attempt-to-process-extensionless-urls-on-iis-7-and-iis-7.5
dans la boîte de dialogue "Turn Windows Features On or Off" de L'application "Programs and Features", perform les étapes suivantes:
- naviguez jusqu'au nœud suivant: Services D'Information Internet -- > Services World Wide Web -- > fonctions HTTP communes
- s'assurer que l'option" redirection D'erreur HTTP " est sélectionnée.
-ou-
- naviguez jusqu'au nœud suivant: Services D'Information Internet -- > Services World Wide Web -- >performances
- Assurez-vous que l'option" compression statique du contenu " est sélectionnée. Une fois l'une ou l'autre option sélectionnée, cliquez sur "OK" pour enregistrer les modifications.
réactiver soit le module de Redirection des erreurs HTTP, soit le module de Compression statique de contenu garantit que: ASP.NET et je synchronise correctement les évènements du pipeline HTTP. Cela permet au module de routage D'URL de traiter des URLs sans extension.
essayez d'appliquer les réglages suivants:
1) donner l'autorisation nécessaire à l'utilisateur IIS_IUSRS
sur IIS Server
(clic droit sur le site Web puis Modifier les Permissions > sécurité).
2) si vous utilisez .NET Framework 4
, assurez-vous que la version .net Framework est v4.0
sur le Application Pool
que votre site web utilise.
Espérons que cette aide...
veuillez également vérifier, si vous utilisez x64, que vous avez activé les applications 32 bits dans les paramètres de l'application
sur le Uncheck" Précompile lors de la publication " - je recevais 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 "précompilé pendant la publication". Je n'ai pas vérifié mais j'ai quand même eu l'erreur. Dans mon cas, j'ai également eu" supprimer tous les fichiers existants avant de publier " mais ne supprimait pas tout de la cible répertoire sur le serveur avant de copier les nouveaux fichiers publiés. Si vous ne le faites pas - un " Précompiledapp.le fichier de configuration " est laissé derrière ce qui cause le problème. Une fois que j'ai supprimé ce fichier, j'ai été dorée sur les versions VS2013 et VS2015 de mon service web.
s'il vous Plaît note parfois mauvais Managed pipeline mode
sera à l'origine de cette erreur. Il y a deux choix pour sélectionner integrated
et classic
.
How to Fix" erreur HTTP 403.14-Forbidden le serveur Web est configuré pour ne pas lister le contenu de ce répertoire"
cette erreur se produit lorsque vous avez MVC 2+ en cours d'exécution hébergé sur IIS 7+, c'est parce que ASP.NET 4 n'a pas été enregistré dans IIS. Dans mon cas, je créais un projet MVC 3 et l'hébergeais sur IIS 7.5.
pour le corriger, assurez-vous que vous avez MVC2 ou supérieur et .net Framework 4.0 installé, puis lancez 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 du haut 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:
<precompiledApp version="2" updatable="true"/>
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 config.
encore une chose: vous ne pouvez pas utiliser aspnet_regiis
dans les nouvelles versions de Windows et IIS donc essayer
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
, d'une façon ou d'une autre la reliure d'assemblage dépendante a été changée du minimum 1
au minimum 0
.
<!-- was -->
<runtime>
<assemblyBinding>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
<!-- should have been -->
<bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
j'ai également rencontré cette même erreur, malgré toutes les solutions proposées pour les raisons suivantes:
- Dll Manquantes
- chaîne de connexion de base de données pointant vers un serveur inaccessible.
Vérifiez votre Global.asax fichier. Dans mon cas, il était vide.
dans my case web.config et tous les fichiers sauf le dossier / bin manquaient (pas copiés d'une façon ou d'une autre).
Stupide, mais c'était la dernière chose que j'ai vérifié.
j'ai récemment eu cette erreur et j'ai constaté que le problème était dû au fait que la fonction" redirection HTTP " n'était pas activée sur mon serveur Windows. Ce billet de blog m'a aidé à passer à travers le dépannage pour trouver la réponse (en dépit d'être des versions plus anciennes de Windows Server): http://blogs.msdn.com/b/rjacobs/archive/2010/06/30/system-web-routing-routetable-not-working-with-iis.aspx pour les nouveaux serveurs, allez à Gestion Informatique, puis faites défiler vers le bas jusqu'au rôle du serveur Web et cliquez add role services
j'ai utilisé L'usurpation D'identité:
<system.web>
<identity impersonate="true" userName="domain\username" password="password"/>
</system.Web>
lorsque vous appuyez sur le serveur, vous devez donner à l'utilisateur l'accès au dossier Temporary ASP.NET
pour qu'il puisse lire/écrire/exécuter correctement:
C:\Windows\Microsoft.NET\"frameworkversion"\"aspversion"\Temporary ASP.NET Files
bien évidemment, remplacez "framorkversion" et "aspversion" par les versions que vous utilisez.
j'utilise: Win Server 2012 R2 / IIS 8.5 / MVC4 / .Net 4.5
si aucune des réponses ci-dessus n'a fonctionné, alors essayez ceci:
Uncheck "Précompile during Publishing "
ça m'a botté le cul pendant quelques jours.
avec ASP.NET projet avec C # 4.5 j'ai résolu un tel problème par installation ASP.NET extension dans L'installateur de plate-forme Web
aussi une chose de plus peut être possible
installer .net framework 4.0 manuellement
Cette solution est pour IIS7 sur la fenêtre 7
cmd ouvert avec administration previlèges
aller à l'annuaire "C:\Windows\Microsoft.NET\Framework\v4.0.30319 "
type aspnet_regiis.exe -je
est arrivé à votre gestionnaire inet en tapant run command "inetmgr"
rafraîchir votre IIS7
rechargez le site.
j'ai eu ce problème, mais il a été corrigé facilement en allant à L'Internet Information Services (IIS) Gestionnaire, double cliquant Annuaire de navigation et cliquer activer.
dans mon cas, je pouvais accéder aux fichiers directement mais pas aux dossiers.
je sais que vous aviez ce problème dans un hôte interne, mais j'avais déjà connu un tel problème dans un hôte externe et dans mon cas il avait sa propre résolution, peut-être qu'il pourrait sauver le temps de quelqu'un:
en fait mon site Web a été arrêté par une raison que je ne suis pas actuellement au courant, pour vérifier si vous avez le même problème, dans WebsitePanel page principale Aller À 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 vient juste d'être ouverte, vérifiez si vous voyez le mot commencé, sinon si vous voyez le mot arrêté, faites-le recommencer. C'est tout.
j'avais mal tapé l'adresse IP par un chiffre, ce qui signifiait qu'il allait à l'un de mes autres serveurs. Très confus car vous obtenez une page d'erreur .NET mais à partir de la mauvaise machine!
je sais que c'est un vieux sujet, mais vous pouvez aussi obtenir cette erreur (lorsque vous déboguez) si vous avez un dossier nommé le même qu'une route dans un contrôleur.
par exemple, si vous avez un UserController, avec une route appelée /User et que vous avez aussi un dossier dans votre solution appelé" User", alors IISExpress essaiera de parcourir le dossier au lieu d'afficher votre vue.
Étape 1: Sélectionnez le Site pour lequel L'erreur HTTP est produite dans IIS, puis cliquez sur "Directory Browsing" comme indiqué dans l'image ci-dessous:
Étape 2: dans la fenêtre de navigation répertoire dans IIS cliquez sur Activer dans les Actions sur le côté droit comme indiqué dans le schéma ci-dessous:
maintenant la navigation dans les répertoires est activée pour votre asp.net site web, il suffit de redémarrer l'application web dans IIS et parcourir le site dans votre navigateur et voir le résultat.
vous pouvez facilement le résoudre en faisant les étapes suivantes:
ouvrez Gestionnaire iis et choisissez votre site que vous souhaitez déployer(à partir du panneau de gauche de treeview) puis double-cliquez sur l'icône de configuration de l'application pour ouvrir le dialogue de configuration de l'application et puis vous devriez voir une vue de grille sur l'écran alors double-cliquez sur la ligne nommée pages web:activé et la valeur de jeu à true (qui est faux par défaut).
il a fonctionné pour moi parce qu'avant que je n'ai fait que j'ai reçu la même erreur, j'ai même activé répertoire de navigation (comme guide IIS officiel recommandé dans le forum iis) mais lorsque j'ai parcouru le site sow une liste de répertoires plutôt que la page Web réelle, mais quand j'ai fait les étapes au-dessus du problème résolu et tout a fonctionné très bien(mais n'oubliez pas d'accorder l'accès pour asppool dans les logins sql après avoir résolu ce problème de cours)
comme je l'ai dit ça a bien marché pour moi. j'espère que ça marchera aussi pour toi. bonne chance