9
votes

IIS7 403 - Accès refusé

J'essaie de déployer un site Web que j'ai construit en MVC3 sur un serveur qui exécute IIS7. J'ai été capable de le faire courir à travers l'IIS7 localement sur mon ordinateur portable, mais lorsque j'essaie de le mettre sur le serveur, je reçois une erreur de 403 accès refusé lorsque vous essayez d'y arriver à distance et une "connexion a expiré" quand j'essaie Pour le voir sur le serveur lui-même.

Je me suis assuré que j'ai le plus récent cadre .NET 4 à l'aide de l'ASP_REGIIS.EXE. J'ai essayé plusieurs pools d'applications, y compris la valeur par défaut. J'ai permis .NETT4 ISAPI. J'ai modifié la permission d'autoriser l'accès à IUser, réseau serveur, utilisateurs authentifiés. Je me suis assuré que la liste de documents par défaut est la même que celle de mon ordinateur portable IIS7 (qui fonctionne bien).

J'ai aussi plusieurs autres sites (en utilisant WebForms, pas MVC) fonctionnent parfaitement sur le serveur.

Pourrait-il avoir quelque chose à voir avec la façon dont j'ai passé des fichiers sur le serveur? Je viens de zipper les fichiers et les a placés (et les a décompressés) sur le serveur et dirigé IIS vers le répertoire créé.

Qu'est-ce que je manque?


2 commentaires

Vous voulez dire une copie zippée de votre application est la seule chose que IIS a?


Désolé de ne pas préciser. Je l'ai décompressé et placé les fichiers dans un dossier.


7 Réponses :


1
votes

Vous devez vous assurer que le dossier où vous avez décompressé les fichiers a la bonne configuration des autorisations. En outre, avez-vous une configuration d'authentification sur ce site?


1 commentaires

J'ai modifié les autorisations de ce dossier, mais cela ne semblait pas l'aide. En outre, je ne sais pas quelle authentification vous parlez. Je suis assez nouveau à IIS



3
votes

Au lieu de zipper votre application, ce sera mieux si vous pouvez le publier (en VS, cliquez avec le bouton droit de la souris sur votre projet et publier) et après le déployer sur votre site Web (vous avez plusieurs options).

Après, pour IIS, cela ressemble à un problème d'authentification. Essayez d'autoriser l'authentification anonyme. Sur IIS Manager, accédez à votre site Web, cliquez sur le module d'authentification et activé "Authentification anonyme".

Voyons ce qui se passe après cela même si le problème "Time Out" est étrange .... Juste pour être sûr, par défaut, il est désactivé pour parcourir le contenu d'un site Web et vous aurez une erreur 403 si vous avez essayé de le faire.

Où avez-vous mis votre application? Parfois, cela peut être problématique (pour la configuration d'accès) pour le mettre dans des dossiers spécifiques tels que des fichiers de programmes, etc., etc. Essayez de l'installer à la racine telle que c: \ sites Web \ myApp juste pour tester sans problèmes d'autorisation utilisateur.


0 commentaires

3
votes

Quelques choses que vous devriez vérifier.

  1. Avez-vous défini le répertoire que vous avez décompressé vos fichiers en tant qu'application dans IIS? Cette application fonctionne-t-elle 3.5 / 4.0?

  2. est votre pipeline pour le pool d'applications exécutant l'application que vous avez créée ci-dessus en mode intégré ou en mode classique?

    Typiquement, lors du déploiement d'une application MVC, un 403 n'est pas un problème de permission. Il vous indique que la navigation de répertoire n'est pas autorisée. Ceci est dû au fait de l'un des 2 éléments ci-dessus (ou d'un mappage de caractères génériques personnalisés dans IIS), le serveur Web ne sait pas comment gérer le routage, la base d'une application MVC.


0 commentaires

2
votes
  1. Créez une nouvelle application Internet MVC 3 avec toutes les valeurs par défaut. Exécuter sur le serveur IIS local.
  2. Déplacer l'application sur le serveur et ajoutez-la sous forme d'application.
  3. Testez l'accès local sur le serveur (Parcourir 80 de IIS Manager).
  4. Ne fusionnez pas toutes les autorisations jusqu'à ce que vous puissiez comprendre le problème.
  5. Voir mon blog http://blogs.msdn.com/b/rickandy/archive/2011/04/22/Test-you-asp-net-mvc -or-Webforms-Application-On-IIS-7-IN-30-SECOND.ASPX

1 commentaires

Yeah Messing avec la permission n'est pas la meilleure idée. Merci pour l'aperçu!



0
votes

Lors de la configuration du site Web, avez-vous testé vos paramètres IIS en cliquant sur la connexion Test. Avez-vous eu deux tiques vertes? Sinon, veuillez vérifier vos paramètres d'authentification. Paramètres d'accès aux dossiers et paramètres du pool d'applications.


1 commentaires

Merci d'avoir répondu. Il a fini par être un tas de choses différentes, mais la piscine des applications faisait partie.



14
votes

J'ai fait face à cette erreur la semaine dernière et peut être causée par beaucoup de choses:

  1. la bonne version du .NET Framework n'est pas installé ou enregistré avec ASP_REGIIS.EXE
  2. Les "RunallManageDModulesForLeQuilles" sont définis sur False dans votre web.config
  3. La bonne version de MVC n'est pas installée dans le serveur
  4. Vous avez une itinéraire ignore qui ignore votre demande
  5. Vous avez une exception précoce dans votre application_start et votre site ne démarre pas correctement

    Pour ma part, j'oublie de modifier ma valeur de chemin du répertoire de journalisation dans le Web.Config vers un répertoire existant.

    Ce que vous pouvez faire pour savoir s'il s'agit d'une erreur de configuration ou d'une erreur dans votre application consiste à créer un nouveau projet MVC par défaut dans VS et à le déployer dans le même AppPool.


2 commentaires

Ces étapes m'ont amené à la bonne réponse. Il a fini par être un tas de choses différentes. L'une des principales était que j'avais sélectionné le bon pool d'applications, mais j'avais sélectionné classique au lieu de intégré


Les "runlallManagedModulesForallRequests" sont définis sur true dans web.config travaillés pour moi



0
votes

Si c'est le fichier ASPX, assurez-vous que la page par défaut définie sur l'IIS, si elle n'installe pas l'application ASP.NET. Une fois que vous avez installé par défaut, le fichier Aspx sera créé.


0 commentaires