wake-up-neo.com

IIS7 403 - Zugriff verweigert

Ich versuche, eine Website, die ich in MVC3 erstellt habe, auf einem Server bereitzustellen, auf dem iis7 ausgeführt wird. Ich konnte es lokal über das iis7 auf meinem Laptop zum Laufen bringen, aber wenn ich versuche, es auf den Server zu bringen, erhalte ich einen Fehler 403 mit verweigertem Zugriff, wenn ich versuche, von einem entfernten Standort aus darauf zuzugreifen, und wenn ich es versuche, tritt eine Zeitüberschreitung bei der Verbindung auf um es vom Server selbst anzuzeigen.

Ich habe mit asp_regiis.exe sichergestellt, dass ich über das neueste .Net 4-Framework verfüge. Ich habe mehrere Anwendungspools ausprobiert, einschließlich des Standardpools. Ich habe .net4 isapi erlaubt. Ich habe die Berechtigung geändert, um den Zugriff von IUSER, SERVER NETWORK und authentifizierten Benutzern zuzulassen. Ich habe sichergestellt, dass die Standarddokumentliste mit der Liste auf meinem Laptop iis7 übereinstimmt (was problemlos funktioniert).

Ich habe auch mehrere andere Websites (mit Webforms, nicht MVC) funktioniert gut auf dem Server.

Könnte es etwas damit zu tun haben, wie ich Dateien an den Server weitergeleitet habe? Ich habe nur die Dateien gezippt und sie auf dem Server abgelegt (und entpackt) und an das erstellte Verzeichnis weitergeleitet.

Was vermisse ich?

9
Shattuck

Ich war letzte Woche mit diesem Fehler konfrontiert und er kann durch viele Dinge verursacht werden:

  1. Die richtige Version von .NET Framework ist nicht installiert oder in asp_regiis.exe registriert
  2. In Ihrer web.config ist "runAllManagedModulesForAllRequests" auf false gesetzt
  3. Die richtige Version von MVC ist nicht auf dem Server installiert
  4. Sie haben eine Ignorierroute, die Ihre Anfrage ignoriert
  5. Sie haben eine frühe Ausnahme in Ihrem Application_Start und Ihre Site wird nicht ordnungsgemäß gestartet

Ich für meinen Teil habe vergessen, meinen Protokollverzeichnispfad in der web.config in ein vorhandenes Verzeichnis zu ändern.

Um festzustellen, ob es sich um einen Konfigurationsfehler oder einen Fehler in Ihrer Anwendung handelt, müssen Sie ein neues Standard-MVC-Projekt in VS erstellen und im selben App-Pool bereitstellen.

14
Michael Alves

Ein paar Dinge, die Sie überprüfen sollten.

  1. Haben Sie das Verzeichnis, in das Sie Ihre Dateien entpackt haben, als Anwendung in IIS festgelegt? Läuft in dieser Anwendung .NET 3.5/4.0?

  2. Wird in Ihrer Pipeline für den Anwendungspool die oben erstellte Anwendung im integrierten Modus oder im klassischen Modus ausgeführt?

Bei der Bereitstellung einer MVC-App ist ein 403 in der Regel kein Berechtigungsproblem. Es wird Ihnen mitgeteilt, dass das Durchsuchen von Verzeichnissen nicht zulässig ist. Dies liegt daran, dass der Webserver ohne eines der beiden oben genannten Elemente (oder eine benutzerdefinierte Platzhalterzuordnung in IIS) nicht weiß, wie das Routing, die Grundlage einer MVC-App, gehandhabt wird.

3
Tommy

Anstatt Ihre App zu komprimieren, ist es besser, wenn Sie sie veröffentlichen (in VS mit der rechten Maustaste auf Ihr Projekt klicken und veröffentlichen) und sie anschließend auf Ihrer Website bereitstellen (Sie haben mehrere Möglichkeiten).

Für IIS sieht es nach einem Problem mit der Authentifizierung aus. Versuchen Sie, die anonyme Authentifizierung zuzulassen. Gehen Sie im IIS Manager zu Ihrer Website, klicken Sie auf das Authentifizierungsmodul und aktivieren Sie "Anonyme Authentifizierung".

Mal sehen, was danach passiert, auch wenn das "Timeout" -Problem seltsam ist ... Um sicherzugehen, ist es standardmäßig deaktiviert, den Inhalt einer Website zu durchsuchen, und es wird ein 403-Fehler angezeigt, wenn Sie dies versuchen .

Wo hast du deine App abgelegt? Manchmal kann es problematisch sein (für die Zugriffskonfiguration), es in bestimmte Ordner wie Programme usw. zu kopieren. Versuchen Sie, es im Stammverzeichnis zu installieren, z. B. C:\Websites\MyApp, um es ohne Probleme mit Benutzerberechtigungen zu testen.

3
nFournier
  1. Erstellen Sie eine neue MVC 3-Internet-App mit allen Standardeinstellungen. Führen Sie auf dem lokalen IIS Server aus.
  2. Verschieben Sie die App auf den Server und fügen Sie sie als Anwendung hinzu.
  3. Testen Sie den lokalen Zugriff auf dem Server (durchsuchen Sie 80 von IIS Manager).
  4. Versuchen Sie nicht, alle Berechtigungen zu ändern, bis Sie das Problem erkannt haben.
  5. Siehe mein Blog http://blogs.msdn.com/b/rickandy/archive/2011/04/22/test-you-asp-net-mvc-or-webforms-application-on-iis-7-in -30-Sekunden.aspx
2
RickAndMSFT

Sie müssen sicherstellen, dass der Ordner, in den Sie die Dateien entpackt haben, über die richtigen Berechtigungen verfügt. Haben Sie auch die Authentifizierung auf dieser Site eingerichtet?

1
Ricardo Sanchez

Haben Sie beim Einrichten der Website Ihre IIS Einstellungen getestet, indem Sie auf Verbindung testen geklickt haben? Hast du zwei grüne Häckchen bekommen? Wenn nicht, überprüfen Sie bitte Ihre Authentifizierungseinstellungen. Einstellungen für Ordnerzugriff und Anwendungspool.

0
Karthik Prasad

Wenn es sich um eine ASPX-Datei handelt Stellen Sie sicher, dass die Standardseite auf dem IIS festgelegt ist, falls nicht, installieren Sie die Anwendung asp.net. Sobald Sie standardmäßig installiert haben, wird die ASPX-Datei erstellt.

0
sandeep