No se puede obtener nada excepto 403 de un sitio web .Net 4.5

10

Escenario: instalación de Clean Server 2008 R2 con rol de IIS.

Framework 3.5 instalado (características del servidor) Framework 4.5 RC instalado (descarga de MS)

ejecutado

C:\Windows\Microsoft.NET\Framework64\v4.0.30319>aspnet_regiis.exe -i

(Lo usaría -iruen servidores existentes pero esta es una compilación limpia).

Publicado a través del sistema de archivos (SMB share)

Convierte la carpeta en una aplicación usando el .Net 4.0 Integrated App Pool

Detuve / reinicié todo.

Navegación a localhost/TestAppresultados en un 403.14 (Navegación de directorio prohibida)

¿Qué paso me he perdido? El sitio en cuestión es MVC4 y apunta al marco 4.5 RC

Básico
fuente
¿Se ha asegurado de que su documento predeterminado esté en la lista de documentos predeterminados?
Brent Pabst
@BrentPabst Siendo MVC, no hay un documento predeterminado: se basa en la reescritura de URL por parte de IIS para determinar qué controlador / acción ejecutar. Si eso fallaba, esperaría un mensaje de error diferente. Parece que no se invoca el análisis de URL, lo que generalmente significa que .Net no está registrado correctamente en IIS. Dicho esto, está registrado y he instalado los roles de IIS apropiados (en realidad, ahora tengo todos los roles de IIS), así que no estoy seguro de cuál es la mejor forma de diagnosticar esto
básico el
lo siento, estoy ciego y me perdí la parte 4.5 MVC. De cualquier manera, ¿por qué registró .NET 4.0 después de instalar 4.5? En realidad, nunca tuve que registrar .NET en ningún servidor web porque el instalador lo hace automáticamente. De todos modos, creo que registraste los controladores .NET incorrectos. Sin embargo, con 4.5 y MVC al menos debería ver un YSOD que dice que el ASAX global no se puede cargar.
Brent Pabst
@BrentPabst He tenido que hacerlo aspnet_regiisantes, pero solo cuando IIS está instalado después de .Net (parece razonable). Ese no fue el caso aquí, pero dado que muchas de las respuestas sugeridas mencionan esto como el problema, pensé en intentarlo. 4.5 reemplazar 4.0 por completo. Estoy de acuerdo en que no obtener YSOD es extraño: como dije, parece que simplemente no lo trata como una página .Net en absoluto
básico el
1
Me alegra que lo hayas solucionado todo. ¡Tu cabeza debe haber estado lista para explotar!
Brent Pabst

Respuestas:

21

Tuve un problema similar. Este hilo /programming/2374957/asp-net-mvc-on-iis-7-5 lo resolvió por mí. Básicamente intente agregar esto a su web.config:

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer>

Si eso funciona, puede intentar eliminarlo e instalar este hotfix en su lugar: http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=5272

Shildrak
fuente
Gracias, eso lo resolvió. He estado golpeándome la cabeza contra esto durante horas. No creerías el dolor que recibí de la oficina "linux guy". En este caso, creo que tiene razón ...
Básico
1
¡Gracias! En mi caso, runAllManagedModulesForAllRequests no ayudó, pero la revisión sí.
NateTheGreat
Para mí también ejecutarAllManagedModulesForAllRequests no ayudó, pero el hotfix sí, gracias por el enlace
Anil Purswani el
¡Salvaste mi día!
labilbe
0

La interfaz de usuario es un poco diferente en las versiones más recientes de Windows Server. Aquí es donde debe habilitar ASP.Net para que funcione en IIS

Fix IIS y Asp.net

Matthew Zourelias
fuente