[Asp.net-Mvc] ASP MVC en IIS 7 da como resultado: HTTP Error 403.14 - Prohibido


Answers

Respondido en SO here , pregunta: 403 - Prohibido en el despliegue básico de MVC 3 en iis7.5

Ejecute aspnet_regiis -i . A menudo he descubierto que debes hacer eso para que las aplicaciones 4.0 funcionen. Abra un símbolo del sistema como Administrator (haga clic con el botón derecho en el icono del símbolo del sistema y seleccione Ejecutar como administrador):

cd \
cd Windows\Microsoft.NET\Framework\v4.xxx.xxx
aspnet_regiis -i

Una vez que se haya instalado y registrado, asegúrese de que su aplicación esté utilizando un grupo de aplicaciones configurado para .NET 4.0.

ACTUALIZACIÓN: Acabo de encontrar un problema con este comando. El uso de -i actualizó todos los grupos de aplicaciones a ASP.NET 4.0.

Usando aspnet_regiis -ir instala la versión de ASP.NET pero no cambia ninguna aplicación web a esta versión. También es posible que desee revisar la opción -iru.

Question

Estoy desarrollando un proyecto web ASP MVC. Ahora tengo un requisito que me obliga a implementar en un IIS7 en el medio del desarrollo (para verificar algunas características). Recibo el mensaje de error mencionado anteriormente cada vez que trato de escribir la URL del sitio web. (Nota: máquina de desarrollo: Vista Home Premium, IIS7)

Lo que he hecho hasta ahora:

Editado el archivo HOSTS (C: \ WINDOWS \ system32 \ drivers \ etc \ hosts).

Pon dos dominios en él (127.0.0.1 domain1.com y 127.0.0.1 domain2.com).

Creó una carpeta c: \ sites \ dirOfApplication y la implementó desde Visual Studio 8 en esta carpeta.

En IIS7 creó un nuevo sitio con el nombre de host domain1.com y la carpeta de la aplicación anterior.

Al escribir la dirección domain1.com en el navegador web, se produce el error anterior (HTTP Error 403.14 - Prohibido: el servidor web está configurado para no mostrar el contenido de este directorio).

¡Creo que me estoy perdiendo algo pero no sé qué! Intenté implementar los archivos System.Web.Mvc, System.Web.Abstraction & System.Web.Routing con el mismo resultado. Cada vez que trato de presionar F5 y ejecutar la aplicación, ¡funciona bien!




Tuve este problema, pero se solucionó fácilmente yendo al Administrador de Internet Information Services (IIS), haciendo doble clic en Búsqueda de directorios y haciendo clic en Habilitar.

En mi caso, podía acceder a los archivos directamente pero no podía acceder a las carpetas.




Si las respuestas principales no funcionan, busque una configuración llamada PrecompiledApp.config en el directorio de alojamiento y elimínela si existe. Este archivo impide que IISExpress y LocalIIS funcionen correctamente. (Y creo que eso es un error) El contenido del archivo en mi caso fue:

<precompiledApp version="2" updatable="true"/>

Y estoy 100% seguro de que ese fue el problema con mi caso, ya que intenté todo en 2 horas y lo probé muchas veces con esta configuración.

Una cosa más: no puedes usar aspnet_regiis en las versiones más nuevas de Windows e IIS así que intenta

dism /online /enable-feature /featurename:IIS-ASPNET45 /all



Compruebe también, si está ejecutando x64, que ha habilitado las aplicaciones de 32 bits en la configuración del conjunto de aplicaciones




Con el proyecto ASP.NET con C # 4.5, he resuelto ese problema instalando la extensión ASP.NET en el instalador de Web Platform.




Tenga en cuenta que a veces el Managed pipeline mode incorrecto causará este error. Hay dos opciones para seleccionar integrated y classic .




También he encontrado este mismo error, a pesar de todas las soluciones proporcionadas por los siguientes motivos:

  • Faltan archivos DLL
  • La cadena de conexión de la base de datos apunta a un servidor inaccesible.



En mi caso, faltaban los archivos web.config y todos los archivos a excepción de la carpeta / bin (no se copiaron de alguna manera).
Tonto, pero eso fue lo último que revisé.




Tuve el mismo problema. Este artículo de soporte de Microsoft me lo arregló.
https://support.microsoft.com/en-us/help/2023146/mvc-2-and-asp.net-4-web-forms-applications-that-use-url-routing-might-return-http-404-errors-when-they-attempt-to-process-extensionless-urls-on-iis-7-and-iis-7.5

En el cuadro de diálogo "Activar o desactivar las características de Windows" de la aplicación "Programas y características" del Panel de control de Windows, realice los siguientes pasos:

  1. Navegue al siguiente nodo: Internet Information Services -> World Wide Web Services -> Funciones comunes HTTP
  2. Asegúrese de que la opción "Redirección de errores HTTP" esté seleccionada.

-o-

  1. Navegue al siguiente nodo: Internet Information Services -> World Wide Web Services -> Funciones de rendimiento
  2. Asegúrese de que la opción "Compresión de contenido estático" esté seleccionada. Después de que se haya seleccionado cualquiera de las opciones, haga clic en "Aceptar" para guardar los cambios.

Volver a habilitar el módulo de Redirección de errores HTTP o el módulo de Compresión de contenido estático garantiza que ASP.NET e IIS sincronicen correctamente los eventos de interconexión HTTP. Esto permite que el módulo de enrutamiento de URL procese URL sin extensión.




Puedes resolverlo fácilmente siguiendo los siguientes pasos:

abra iis manager y elija su sitio que desee desplegar (desde el panel de vista de árbol izquierdo) y luego haga doble clic en el icono de configuración de aplicaciones para abrir el diálogo de configuración de aplicaciones y luego vea una vista de cuadrícula en la pantalla, haga doble clic en la fila llamada páginas web: Activado y el valor establecido en verdadero (que es falso de forma predeterminada).

funcionó para mí porque antes de hacerlo recibí el mismo error que incluso habilité la exploración de directorios (como se recomienda la guía oficial de iis en iis forum), pero cuando navegué por el sitio siembro una lista de directorios en lugar de una página web real, pero cuando lo hice pasos por encima del problema resuelto y todo funcionó bien (pero no se olvide de otorgar acceso para asppool en inicios de sesión sql después de resolver este problema, por supuesto)

como dije, funcionó bien para mí, espero que te funcione también, buena suerte




Había escrito mal la dirección IP en un dígito, lo que significaba que iba a ir a uno de mis otros servidores. ¡Muy confuso ya que obtiene una página de error de .NET pero de la máquina equivocada!




He estado usando el identificador de identidad:

<system.web>
    <identity impersonate="true" userName="domain\username" password="password"/>
</system.Web>

Al presionar hacia arriba al servidor, debe dar acceso al nombre de usuario a la carpeta Archivos Temporary ASP.NET para que pueda leer / escribir / ejecutar correctamente:

C:\Windows\Microsoft.NET\"frameworkversion"\"aspversion"\Temporary ASP.NET Files

Obviamente, reemplace "frameworkversion" y "aspversion" con las versiones que está utilizando.




¡Es por estar demasiado seguro de lo que tú (yo) estamos haciendo!

En mi máquina hay instalado IIS 7 pero el componente ASP.NET requerido (Panel de control-> Programas-> Activar / Desactivar-> ASP.NET) no estaba.

Así que instalar esto resolvió el problema




Links