Zugriff auf Remoteressourcen schlägt fehl, wenn er über IIS angefordert wird

Dieser Artikel hilft Ihnen bei der Behebung des Problems, dass beim Anfordern des Zugriffs auf Remoteressourcen über Internetinformationsdienste (IIS) 7.5, 8 oder 8.5 ein Fehler auftreten kann.

Ursprüngliche Produktversion:   Internetinformationsdienste 7.5, 8, 8.5
Ursprüngliche KB-Nummer:   2672809

Problembeschreibung

In IIS 7.5 tritt eines der folgenden Probleme auf:

Problem 1

Anwendungscode, der auf Ressourcen auf einem anderen Server zugreift, schlägt fehl. Code, der z. B. wie der folgende code, der HttpWebRequest verwendet, schlägt fehl:

WebRequest req = WebRequest.Create("http://contoso.com/somepage.aspx");
req.UseDefaultCredentials = true;
req.PreAuthenticate = true;
req.Credentials = CredentialCache.DefaultCredentials;

Wenn dieser Code ausgeführt wird, kann ein Ausnahmefehler auftreten, der dem folgenden ähnelt:

Ausnahmetyp: WebException
Ausnahmemeldung: Der Remoteserver hat einen Fehler zurückgegeben: (401) Nicht autorisiert.
at System.Net.HttpWebRequest.GetResponse()
bei ASP.somepage_aspx. Page_Load(Object sender, EventArgs e)
at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Hinweis

Das obige Codebeispiel ist nur ein Beispiel dafür, wie das Problem auftreten kann. Es kann auch andere Möglichkeiten geben, z. B. die Verwendung System.IO des Zugriffs auf Remoteressourcen.

Problem 2

Nach dem Neustart von IIS-Diensten und dem Senden einer Anforderung an die Webanwendung tritt eine Fehlermeldung auf, die der folgenden ähnelt:

HTTP-Fehler 500.19 – Interner Serverfehler
Auf die angeforderte Seite kann nicht zugegriffen werden, da die zugehörigen Konfigurationsdaten für die Seite ungültig sind.
Detaillierte Fehlerinformationen
Modul: IIS Web Core

Fehlercode: 0x80070005
Konfigurationsfehler: Konfigurationsdatei kann aufgrund unzureichender Berechtigungen nicht gelesen werden
Konfigurationsdatei : \ \ ?\UNC\path\wwwroot\web.config
Angeforderte URL: http://localhost:80/Mysite

Hinweis

Diese Probleme treten möglicherweise ohne Grund auf und können vorübergehend durch einen Neustart des IIS-Servers behoben werden.

Ursache

Microsoft hat bestätigt, dass dies ein Problem im Abschnitt "Ursprüngliche Produktversion" dieses Artikels ist.

Lösung

Informationen zum Beheben dieser Probleme finden Sie unter "Benutzer können nicht mehr auf eine IIS-gehostete Website zugreifen, nachdem das Computerkennwort für den Server in Windows 7 oder in Windows Server 2008 R2 geändert wurde.

Dieses Problem kann mit den folgenden Schritten reproduziert werden:

  1. Führen Sie an einer Administrativen Eingabeaufforderung den folgenden Befehl aus, wobei <domainname> sich der Domänenname des IIS-Servers im Netbios- oder FQDN-Format befindet:

    nltest.exe /sc_change_pwd:<domainname>

  2. Ausführen, IISRESET um die IIS-Dienste neu zu starten.

  3. Navigieren Sie zu einer Seite auf der IIS-Website.

Maximumpasswordage

Was Sie ausprobieren können

Einige weitere Details, die bei der Identifizierung und Problembehandlung dieser Probleme helfen:

  • Entweder ist IIS für den Zugriff auf Inhalte in einer UNC-Freigabe konfiguriert, oder Code greift auf Inhalte in einer UNC-Freigabe zu.
  • Alles funktioniert einwandfrei, funktioniert aber zu einem scheinbar zufälligen Zeitpunkt nicht mehr.
  • Eine Netmon-Ablaufverfolgung zeigt an, dass NTLM für den Zugriff auf den UNC-Inhalt anstelle von Kerberos verwendet wird.
  • Das Zuordnen eines Laufwerks oder verwenden net view new use usw. funktioniert weiterhin.
  • Nur ein Neustart des Servers wird aufgelöst, aber zu einem späteren Zeitpunkt wird er erneut ausgeführt. (Kunden gehen in der Regel davon aus, dass es zu einem zufälligen Zeitpunkt beginnt.)