IIS7 vuelve en blanco cuando se solicita contenido estático


14

Estoy tratando de configurar una máquina de demostración que sea EEEPC con Windows 7 Home Premium Edition con todos los controladores cargados correctamente (no me pregunten por qué es Home Edition) con IIS7 instalado.

Implementé la aplicación para que se demuestre en la máquina, que es un sitio ASP.NET MVC, se agregó un sitio web a través de la consola, se agregó un grupo de aplicaciones. El grupo de aplicaciones se ejecuta como NetworkService y el invitado se autentica como IUSR.

He agregado derechos de modificación a NetworkService y derechos de lectura y ejecución de IUSR a la carpeta del sitio web y su contenido.

Cuando llego a la raíz de la web, diga http://example.com/ Obtengo un HTML adecuado del sitio web (lo que significa que la aplicación funciona) pero el problema es que todo el contenido estático vuelve en blanco.

No estoy seguro de por qué está sucediendo esto. No hay página de error 404 o 500, simplemente una respuesta vacía cuando accedo al contenido estático. Todo el contenido generado por ASP.NET funciona bien (aunque es un poco extraño ya que no se cargarán todas las CSS e imágenes)

Ayuda, IIS7 Management Console es muy confuso para mí y necesito la máquina para mañana.

Respuestas:



2

En mi caso, el rol del servidor ya estaba instalado y, sin embargo, el controlador estático sirvió páginas en blanco incluso para un sitio de prueba trivial con solo una asignación de controlador único.

La solución fue habilitar la restricción de solicitud "Invocar controlador solo si la solicitud está asignada a". No importa si lo configuro en "Archivo" o "Archivo o directorio"; siempre que la casilla de verificación esté habilitada, funciona:

                  ingrese la descripción de la imagen aquí

Si esto todavía no ayuda, otra cosa que lleva a páginas en blanco es tratar de especificar una ruta en la sección "Ruta de solicitud", como publico tal vez public/*. Lo último es simplemente incorrecto, mientras que lo primero debería aceptarse, pero en su lugar da como resultado páginas en blanco. La solución es ajustar la asignación del controlador en una <location path='public'>sección, especificando *la configuración de "Ruta de solicitud". O, en el Administrador de IIS, expanda el sitio y seleccione su carpeta primero, luego edite las asignaciones de controladores.


1

Como sugirió @MattB, no había habilitado la función "Contenido estático", pero eso es solo una parte del problema.

Agregué la función "Contenido estático" y, sin embargo, el problema persiste, por lo que elimino el MvcHttpHandler predeterminado de la lista de asignaciones de controladores y de alguna manera el problema se resuelve solo ... así que el problema era que MvcHttpHandler estaba interceptando solicitudes antes de StaticFileHandler,

Para su información, después de instalar el "Contenido estático", también asegúrese de que ...

  1. En el Administrador de servicios de información de Internet, haga clic en su sitio web.
  2. Haga doble clic en la función "Asignaciones de controladores".
  3. En el lado derecho (el panel Acción) verá un enlace titulado "Ver lista ordenada ...", haga clic en él.
  4. Luego encontrará el orden en que el módulo coincide con cada solicitud, asegúrese de que el orden tenga sentido.

En mi caso, MvcHttpHandler estaba por encima de todo lo demás, resolví el problema moviéndolo al final de la lista, que es el lugar más sensato en el que debería estar porque los manejadores de archivos AXD, los manejadores TRACE, el manejador OPTIONS y el contenido estático se disparan. al manejar la solicitud primero.

Espero que esto ayude a alguien a buscar en Google el mismo problema :-)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.