Compartir a través de


Se produce un error en el acceso a recursos remotos cuando se solicita a través de IIS

Este artículo le ayuda a resolver el problema que, al solicitar acceso a recursos remotos a través de Internet Information Services (IIS) 7.5, 8 o 8.5, puede producirse un error.

Versión original del producto: Internet Information Services 7.5, 8, 8.5
Número de KB original: 2672809

Síntomas

En IIS 7.5, se produce uno de los siguientes problemas:

Problema 1

Se produce un error en el código de aplicación que accede a los recursos de otro servidor. Por ejemplo, se produce un error en el código similar al siguiente que usa HttpWebRequest:

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

Cuando se ejecuta este código, puede producirse un error de excepción similar al siguiente:

Tipo de excepción: WebException
Mensaje de excepción: El servidor remoto devolvió un error: (401) No autorizado.
at System.Net.HttpWebRequest.GetResponse()
en ASP.somepage_aspx. Page_Load(remitente del objeto, EventArgs e)
en System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
en System.Web.UI.Control.LoadRecursive()
en System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Nota:

El ejemplo de código anterior es solo un ejemplo de cómo puede producirse el problema. También puede ocurrir de otras maneras, como usar System.IO para acceder a los recursos remotos.

Problema 2

Después de reiniciar los servicios IIS y enviar una solicitud a la aplicación web, se producirá un mensaje de error similar al siguiente:

Error HTTP 500.19: error interno del servidor
No se puede acceder a la página solicitada porque los datos de configuración relacionados de la página no son válidos.
Información detallada del error
Módulo: IIS Web Core

Código de error: 0x80070005
Error de configuración: no se puede leer el archivo de configuración debido a permisos insuficientes
Archivo de configuración : \\?\UNC\path\wwwroot\web.config
Dirección URL solicitada: http://localhost:80/Mysite

Nota:

Estos problemas pueden parecer empezar a producirse sin ningún motivo y se pueden resolver temporalmente reiniciando el servidor IIS.

Causa

Microsoft ha confirmado que se trata de un problema en la versión original del producto, en la sección de este artículo.

Solución

Para resolver estos problemas, consulte Los usuarios no pueden acceder a un sitio web hospedado en IIS después de cambiar la contraseña del equipo para el servidor en Windows 7 o en Windows Server 2008 R2.

Este problema se puede reproducir mediante los pasos siguientes:

  1. Desde un símbolo del sistema administrativo, ejecute el siguiente comando, donde <domainname> es el nombre de dominio del servidor IIS en formato netbios o FQDN:

    nltest.exe /sc_change_pwd:<domainname>

  2. Ejecute IISRESET para reiniciar los servicios IIS.

  3. Vaya a una página en el sitio web de IIS.

MaximumPasswordAge

Qué probar

Algunos detalles adicionales que ayudarán a identificar y solucionar estos problemas:

  • IIS está configurado para acceder al contenido de un recurso compartido UNC o el código accede al contenido de un recurso compartido UNC.
  • Todo funciona bien pero luego deja de funcionar en un tiempo aparentemente aleatorio.
  • Un registro de NetMon mostrará que NTLM se está usando para acceder al contenido UNC en lugar de Kerberos.
  • La asignación de una unidad o el uso de net view, new use, etc. seguirá funcionando.
  • Solo se resolverá un reinicio del servidor, pero comenzará a ocurrir de nuevo en algún momento posterior. (Los clientes suelen creer que comienzan en un momento aleatorio).