Hay un IIS 7.5 recién instalado en un servidor dedicado. La aplicación web ASP.NET 4.0 copiada en su carpeta, el nuevo sitio web se crea con su propia IP en la publicación 80, las cuentas IIS_IUSR e IUSR tienen derechos de lectura / ejecución en la carpeta del sitio, el sitio se asigna a su propio grupo de aplicaciones integrado con 4.0 .NET (Probé el grupo clásico con los mismos resultados).
El problema: cuando intento acceder a este sitio web, el navegador solo carga contenido generado por recursos .NET, como páginas aspx, archivos .axd, etc. Las imágenes estáticas, los archivos estáticos js, css y html están en el origen de la página, pero IIS no No les sirva. Las herramientas de desarrollo en todos los navegadores se quejan de que el servidor ha enviado todos esos recursos estáticos con un tipo de contenido incorrecto (texto plano en lugar de imagen, estilos, etc.). ¿Qué hago mal?
Respuestas:
IIS 7 / 7.5 tiene una nueva "característica": Servicios de roles. La publicación de rsbarro me recordó que hay un servicio de rol responsable del contenido estático. Es Servidor web / Características HTTP comunes / Contenido estático. Compruebe si el icono de Tipos MIME está presente en el Administrador de IIS, como sugirió rsbarro.
Debe instalar el servicio de rol Contenido estático si no lo hace. Para hacer eso, seleccione el:
Por lo que describe, este parece ser su problema.
En general, si IIS7 no hace algo que hizo IIS6, lo primero que debe verificar es ver si está instalado el servicio de rol correspondiente. Espero que esto ayude.
fuente
En IIS, vaya a su sitio web y consulte la sección Tipos MIME (vea la imagen a continuación). Asegúrese de ver entradas en esa lista para .js, .css, .html, etc., y que tengan el tipo MIME correcto especificado. IIS 7.5 solo servirá páginas si hay un tipo MIME especificado. De manera predeterminada, los tipos MIME para estas extensiones se configuran en el
applicationHost.config
archivo ubicado en laC:\Windows\system32\inetsrv\config
carpeta (es posible que deba ejecutar el bloc de notas como administrador para ver el archivo). Simplemente busque .js y debería encontrar una entrada debajo<mimeMap>
en el<staticContent>
elemento.Estas configuraciones se pueden anular en su
web.config
archivo. Si lo son, aparecerán en la siguiente ubicación enweb.config
:Definitivamente comenzaría por verificar allí. Si todo parece correcto en la sección de tipos MIME, es posible que tenga un módulo que interfiera con las solicitudes de archivos estáticos (pero lo más probable es que solo lo haya
<modules runAllManagedModulesForAllRequests="true" />
configurado en su<system.webServer>
sección). Si ese es el caso, eliminaría la configuración de todos los módulos en suweb.config
y vería si puede abrir los archivos estáticos, y luego los leeré uno por uno para ver qué módulo está causando el problema. Si no puede resolverlo, le sugiero que publique el contenido de suweb.config
(o al menos las seccionessystem.web
ysystem.webServer
) en la pregunta.fuente
Tuve el mismo problema, pero mi grupo de aplicaciones se ejecutaba bajo una cuenta de dominio y ese usuario tenía derechos sobre la carpeta del sitio web. Mi sitio web representaba aspx pero no contenido estático. Lo que resolvió mi problema fue agregar el grupo IIS_IUSRS a la política de seguridad local llamada "suplantar a un cliente después de la autenticación". El grupo IIS_IUSRS tenía mi cuenta de dominio en él. Estoy ejecutando iis 7.5 Windows 2008 Server.
fuente