HTTP Error 403.14 – Prohibido El servidor web está configurado para no enumerar los contenidos

Descargué la aplicación MVC Music Store ASP.NET MVC en la ubicación C: \ Users \ DEVESH \ Desktop \ Projects \ MvcMusicStore-v3.0 \ MvcMusicStore-Completed \ MvcMusicStore y agregué el sitio web en IIS en la misma ubicación. También di permiso a IIS_IUSRS, pero cuando ejecuto localhost recibo el error:

HTTP Error 403.14 – Prohibido El servidor web está configurado para no mostrar el contenido de este directorio.

Lo busqué en Google, pero no pude solucionarlo. ¿Puede alguien decirme dónde estoy equivocado?

Encontré este error porque tenía la versión de .NET incorrecta (v2.0 en lugar de v4.0) configurada en el grupo de aplicaciones del sitio web. Lo arreglé de esta manera en Windows Server 2008 R2 e IIS 7. Estoy bastante seguro de que las instrucciones se aplican también a Windows Server 2012 e IIS 8:

  • Presione las teclas Windows + R para abrir el cuadro de diálogo Ejecutar, escriba inetmgr y luego haga clic en Aceptar. Esto abre el Administrador de IIS.
  • En la vista de árbol izquierda, ubique el nodo Sitios y busque el nodo Sitio web predeterminado debajo de él (o el nombre del sitio donde aparece el mensaje de error).
  • Haga clic derecho en el nodo y seleccione Administrar sitio web -> Configuración avanzada …. Tenga en cuenta el nombre del grupo de aplicaciones de valor. Cierre este diálogo
  • En la vista de árbol a la izquierda, busque y seleccione el nodo Grupos de aplicaciones .
  • En la lista a la derecha, ubique el grupo de aplicaciones con el mismo nombre que el que anotó en la configuración del sitio web. Haga clic con el botón derecho y seleccione Configuración avanzada …
  • Asegúrese de que el valor de la versión de .NET Framework sea v4.0 . Haga clic en Aceptar .

Esto no se aplica si está ejecutando un sitio anterior que realmente debería tener .NET v2.0, por supuesto 🙂

En mi caso, ASP.NET no está registrado en el servidor. intente ejecutar esto en el símbolo del sistema:

Windows 32 bits

%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -ir 

Windows 64bit

 %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir 

Por si acaso, si alguien llega aquí buscando una solución, así es como lo resolví. Por error borré todos los archivos de mi servidor (directorio bin) pero cuando volví a copiar todos los archivos me perdí App_global.asax.dll y App_global.asax.compiled files. Debido a que estos archivos faltaban, IIS me estaba dando este error

 403 - Forbidden: Access is denied. 

Tan pronto como agregué estos archivos, comenzó a funcionar perfectamente bien.

Me he encontrado similar antes por 2 razones; 1. MVC no está instalado. 2. El módulo de enrutamiento url no está registrado (esto varía según la máquina en mi lugar de trabajo por una razón que no puedo explicar completamente – no siempre está registrado a nivel de sistema), intente registrarlo en la aplicación web.config:

  ...  ...    

Editar: Olvidé agregar la ubicación de iis 7+:

   ...    

Resolví este problema al corregir un error con mi disposición de archivo Global.asax. Copié los archivos de otro proyecto y no incrustó Global.asax.cs en el archivo Global.asax (ambos archivos existían anteriormente en el mismo nivel).

Arreglo global.asax

Acabo de tener el mismo problema, pero mi solución fue que el enrutamiento no estaba configurado en el archivo Global.asax.cs. Estoy usando Bootstrapper y Castle Windsor, así que para resolver este problema agregué el siguiente código a Global.asax.cs:

 public class MvcApplication : System.Web.HttpApplication { protected void Application_Start() { Bootstrapper.IncludingOnly.Assembly(Assembly.GetAssembly(typeof(WindsorRegistration))) .With .Windsor() .With .StartupTasks() .Start(); } } 

Obviamente, si está utilizando el MVC básico, necesitará hacer referencia al archivo RouteConfig en la carpeta AppStart en su lugar:

 public class MvcApplication : System.Web.HttpApplication { protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); } } 

Estaba usando la aplicación ASP.NET 4.5 MVC en IIS 7. Mi solución fue establecer runallmanagedmodule en true.

    

o Si tiene otros módulos, puede agregarlos dentro de la etiqueta del módulo.

    ...   

Descripción general de los módulos de IIS: el sitio oficial de Microsoft IIS

En mi caso, tuve varios proyectos pero no había definido el Proyecto inicial. Entonces este error estaba generando. Después de definir el proyecto de inicio resolvió el problema.

Si el proyecto es un MVC de ASP.net, se trataría del enrutamiento. En mi caso cambié los valores de enrutamiento predeterminados:

 routes.MapRoute( "Default", "{controller}/{action}/{id}", new { controller = "Home", action = "Index", id = "" } ); 

Cambié mi código accidentalmente a:

 routes.MapRoute( "Default", "{controller}/{action}/{JobID}", new { controller = "Home", action = "Index", id = "" } ); 

Eso es solo que cambié “id” a “JobId” y la ruta predeterminada no se puede encontrar.

Verifique esto también:

Este problema se produce porque el sitio web no tiene activada la función de exploración de directorios y el documento predeterminado no está configurado. Para resolver este problema, use uno de los siguientes métodos:

  • Método 1: Habilite la característica de Exploración de directorios en IIS (recomendado)
  • Método 2: Agregar un documento predeterminado Método 3: Habilitar el directorio
  • Método 3: Habilite la característica de búsqueda de directorio en IIS Express

ENLACE: https://support.microsoft.com/en-us/kb/942062

Este error ocurre cuando la aplicación no puede iniciarse.
Entonces, la causa puede ser cualquier cosa que impida que su aplicación comience.

  • Cadena de conexión incorrecta
  • Permisos incorrectos del directorio de IIS
  • Una excepción lanzada en su función Application_Start ()
  • IOC Error de inicialización del contenedor
  • Errores de registro de IIS ASP.NET
  • Falta DLL en tu carpeta bin
  • etc …

Tuve este error después de crear una aplicación ASP.Net vacía en Visual Studio. Tan pronto como agregué un archivo index.html a la solución principal, funcionó. Entonces, en mi caso, solo necesitaba agregar un archivo a la raíz de la carpeta del proyecto.

En mi caso, el archivo index.aspx no se creó de forma predeterminada y, después de agregar otro formulario web, no configuré el formulario como página de inicio … Después de configurar la página como página de inicio, mi problema se resuelve. Así que haga clic derecho en un formulario web y configure el formulario como página de inicio 🙂

Este error puede ocurrir cuando, en el Administrador IIS, el sitio ASP.NET MVC apunta al directorio incorrecto.

En mi caso, inadvertidamente hice que el sitio apuntara al directorio de soluciones en lugar del directorio de proyectos secundarios. Es decir, tenía la Physical path del sitio configurada para

C:\dev\MySolution

en lugar de

C:\dev\MySolution\MyProject .

Pasos específicos para arreglar esto:

  1. Abra el Administrador IIS (Inicio> Ejecutar> inetmgr);
  2. En el Administrador de IIS, en el panel izquierdo, expanda Sitios;
  3. En Sitios, haga clic en el sitio web ASP.NET MVC;
  4. En el panel derecho, haz clic en Configuración básica …;
  5. En el cuadro de diálogo Editar sitio, cambie la Physical path al directorio del proyecto.
  6. Haga clic en Aceptar.

En mi caso, tuve que desactivar ‘Excluir archivos de la carpeta App_Data’ en mi perfil de publicación para implementar la carpeta App_Data con mi documentación XML (XmlDocument.xml). Eso se deshizo del 403.14.

en mi caso: 1. en el Administrador de IIS, en el árbol de la izquierda, haga clic en el nombre de la computadora, en el cuadro de diálogo derecho, haga clic en Limitación de ISAPI y CGT, en el cuadro de diálogo Abrir, seleccione ASP.NET v4.0.30319 y seleccione habilitar. Hay dos ASP.Net v4.0, uno para 32 bits, otro para 64 bits. seleccione según su bit de sistema operativo. 2. En el árbol izquierdo, seleccione el grupo de aplicaciones, en el cuadro de diálogo de la derecha, seleccione el grupo de aplicaciones que utilizó su sitio web. haga doble clic en ese grupo, en el cuadro de diálogo abrir, seleccione el elemento .net framke .net framework v.4.0.30319. y tubería … elemento seleccione integate. Tal vez haya alguna traducción incorrecta arriba porque mi sistema operativo no es versión en inglés.

IUSR permissions en una carpeta, si no están en inetpub / wwwroot, serán la solución para algunos.