Quiero cargar mi propio sitio web asp.net en IIS con IIS Manager. Pero cuando hago esto, aparece el siguiente error
Error HTTP 500.19 - Error interno del servidor No se puede acceder a la página solicitada porque los datos de configuración relacionados para la página no son válidos
Módulo IIS Web Core
Notificación
Controlador desconocido Aún no determinado
Código de0x80070005
error Error de configuración No se puede leer el archivo de configuración debido a permisos insuficientes
Archivo de configuración\\?\C:\Users\Yasso\Documents\Visual Studio 2008\WebSites\WebSite5\web.config
Busqué muchas veces una solución para este error, pero ninguna de las soluciones resolvió el error.
Tengo un problema con mi IUSR
cuenta. No puedo ver esta cuenta en los "nombres de grupo o de usuario" en las propiedades de web.config
.
¿Cuál es el problema?
fuente
Web.config
ACL del archivo eran diferentes a otros archivos en el directorio y no se heredaba de su padre . Permití la herencia de ACL y todo volvió a la normalidad.Respuestas:
El mensaje dice que su archivo de configuración está dañado de alguna manera. Sin embargo, también dice que en realidad no puede acceder al archivo de configuración. Por lo tanto, ignoraría el mensaje original sobre corrupción / falta de validez, ya que probablemente sea solo el efecto de no poder leer el archivo debido a la falta de autorización.
La razón por la que no puede leer el archivo de configuración es porque el proceso que ejecuta su aplicación web no tiene permiso para acceder al archivo / directorio. Por lo tanto, debe otorgar esos permisos al proceso que ejecuta su aplicación web.
Los derechos de acceso deben ser bastante directos, es decir, al menos Leer y, según su aplicación, tal vez Escribir .
Arriba, mencionas que IUSR, etc., no está en las propiedades de
web.config
. Si con eso quiere decir que IUSR no aparece en la pestaña de seguridad del archivo, entonces es algo bueno. Uno no quiere dar a IUSR ningún tipo de permiso para web.config . El rol de IUSR es un usuario anónimo de internet.El archivo web.config debería solo ser accesible a través de su aplicación.
El problema es que no ha dicho qué versión de SO e IIS está utilizando, por lo que es difícil aconsejar qué pasos tomar.
Es decir, en IIS 7.5, es probable que aparezca el mensaje de error que está citando debido a que a su ApplicationPoolIdentity no se le asignaron los permisos. Su aplicación web pertenece a un grupo de aplicaciones y, por lo tanto, debe otorgar los permisos a la cuenta del sistema operativo con la que se ejecuta el grupo de aplicaciones de su aplicación web. A menudo, esto es algo así como NetworkService, pero es posible que lo haya personalizado para que se ejecute bajo una cuenta específica. Sin más información es difícil ayudarte.
fuente
Esto también puede suceder si el sitio está configurado para usar el módulo IIS URL Rewrite pero no está instalado.
fuente
Finalmente , obtuve la solución para mi problema. La cuenta ASP.net no apareció en el administrador de IIS, porque no marqué su casilla de verificación en IIS. Para hacer esto en Windows 7, siga los pasos:
Ahora, verá la cuenta ASP.net en el administrador de IIS y, de manera predeterminada, verá la cuenta de IIS. Ahora, debe mover su sitio web ASP.net de "mi documento" a otro lugar donde el IIS tenga permiso para acceder a él (es decir, a otra partición en su computadora). Ahora, navegue por su sitio web desde el administrador de IIS y debería funcionar.
Muchas gracias por Jeff Turner por la solución.
fuente
dism /NoRestart /Online /Enable-Feature /FeatureName:IIS-ASPNET
En mi caso, la instalación del módulo IIS URL Rewrite resolvió el problema.
fuente
Estaba teniendo el mismo problema, aquí está la solución que funcionó para mí.
fuente
Para desarrolladores de Visual Studio (VS): como lo insinuó Harvey Darvey, Savage y Snives, la configuración de host de la aplicación puede estar apuntando a la ruta física de la aplicación incorrecta. Buscar VirtualDirectory dentro /.vs/config/applicationhost.config cambiar el physicalPath si no es correcta.
Asegúrese de que PhysicalPath sea correcto:
fuente
Alerta de Facepalm:
También recibirá este error si la ruta al archivo de configuración es incorrecta. Vuelva a verificarlo para asegurarse de que la ruta física se haya ingresado correctamente en IIS.
fuente
Debe asignar permisos para IIS_IUSRS en la máquina local (pero no tiene que asignar para IUSR, de hecho funcionará incluso si niega explícitamente los permisos).
Para asignar permisos, simplemente haga clic derecho en la carpeta y en la pestaña de seguridad, asegúrese de otorgar los permisos correctos, y si el usuario no está en la lista, haga clic en "AGREGAR" e ingrese IIS_IUSRS (y asegúrese de que bajo "dominio" el local se selecciona la computadora, o ingrese en el campo de nombre YourLocalComputerName \ IIS_IUSRS), y ya está listo para comenzar.
Si lo desea, puede en lugar de asignar permisos al grupo IIS_IUSRS, puede asignar al grupo de aplicaciones que en general debería ser "IIS APPPOOL \ nombre del grupo de aplicaciones ".
fuente
Solo para incorporar, recibí el mismo tipo de error y mi problema era bastante simple: me faltaba el paquete de alojamiento de .NET Core. Una vez que instalé la herramienta y reinicié el servidor, estuvo bien.
Puede encontrar el manual para alojar asp.net core en Windows aquí: https://docs.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/?view=aspnetcore-2.2
fuente
Lo mismo sucedió conmigo, intente verificar esto haciendo doble clic en las cadenas de conexión en el panel derecho de IIS 7 cuando seleccione un sitio web.
Le dará un error (que hay algún problema con el archivo de configuración web), porque ha utilizado reglas de reescritura de URL y el componente respectivo no está instalado.
Instale "Microsoft URL Rewrite Module 2.0 for IIS 7" y esto debería solucionar su problema
fuente
Nada aquí funcionó para mí, encontré este comando en otra respuesta SO y resolvió mi problema. Simplemente inicie el símbolo del sistema como administrador y ejecute este comando:
Crédito: Usuario Vicxx
fuente
Realizo estos pasos para resolver este problema en Windows Server 2012, IIS 8.5. Debería funcionar para otras versiones también.
Web Server
.NET Extensibility 4.5
,ASP.NET 4.5
y ambasISAPI
entradasNET 3.5
,.NET 4.5
,ASP.NET 4.5
Web Server
(todos),Management Tools
(IIS Management Console and Management Service), Windowsfuente
Otra posibilidad que solucionó este problema para mí:
IIS -> Editar permisos -> Pestaña Seguridad -> Otorgue a los "Usuarios" los permisos apropiados (o IIS_IUSRS, dependiendo de su configuración)
fuente
Ehm Había movido mi sitio / archivos a una carpeta diferente. Sin cambiar la ruta en el sitio web de IIS.
Todos pueden reírse ahora.
fuente
Asegúrese de tener el grupo de aplicaciones configurado en la versión correcta del marco. También deberá asegurarse de que sus usuarios de aspnet, IIS_IUSRS o IUSR tengan acceso de lectura al directorio de la aplicación.
fuente
Instalar el módulo ASP.NET Core
Descargue el instalador utilizando el siguiente enlace: https://www.microsoft.com/net/permalink/dotnetcore-current-windows-runtime-bundle-installer
fuente
Esto también me sucedió cuando tenía un documento predeterminado con el mismo nombre (como index.aspx) especificado tanto en mi archivo web.config como en mi sitio web IIS. Terminé eliminando la entrada del sitio web de IIS y mantuve la entrada web.config como se muestra a continuación:
fuente
A veces, a este mensaje le pueden faltar componentes en su entorno IIS, por ejemplo, un marco particular, o una característica de IIS como compresión dinámica, en lugar de permisos para web.config.
Si este es el caso, una solución puede ser instalar y usar el Instalador de plataforma de Microsoft e instalar los componentes que faltan; es posible que tenga que probar qué es exactamente lo que falta porque el registro de errores y el mensaje no le dicen.
fuente
Intente instalar el subcomponente 'Desarrollo de aplicaciones' de IIS como se menciona en este SO
fuente
Debe configurar el permiso para la carpeta de su sitio web o copiarlos en la carpeta wwwroot :) - Si establece el permiso, tenga 2 formas: + Haga clic derecho en la carpeta de su sitio web + O haga clic derecho en su sitio web en IIS => seleccione Editar permiso y agregue un permiso (IUSR - usuario predeterminado de iis) Buena suerte ;-)
fuente
En mi caso, se debe a que la ruta física de la aplicación apunta a una carpeta inexistente en IIS.
fuente
Tenía el problema lo he copiado mi archivo web.config abajo de prod, cambiado todo lo que no prod relacionada con excepción de las reglas de reescritura que fueron volver a escribir a la dirección http S .
Eliminó esas reglas y funcionó bien.
fuente
Bastante sencillo, IIS no tiene acceso a su web.config. Comenzaría sacando el sitio de su carpeta de documentos. Verifique que también tenga permisos r / w.
fuente
Yo también tuve el problema similar y lo solucioné comentando algunas secciones en el archivo web.config.
El proyecto fue construido e implementado anteriormente en .Net 2.0. Después de migrar a .Net 3.5, comenzó a lanzar la excepción.
Resoluciones
Si su archivo de configuración contiene "< sectionGroup name =" system.web.extensions > ", coméntelo y ejecútelo ya que esta sección ya está disponible en Machine.config.
fuente
Puede obtener este error si tiene un error o problema de synax en su archivo web.config.
Para mí, fue un ampersand perdido en una URL que estaba usando en AppSettings.
fuente
En la página de error de IIS 7.5, haga clic en 'Ver más información' en la parte inferior de la página y, en este caso, lo llevará al siguiente enlace de Microsoft:
http://support.microsoft.com/kb/942055
El 0x80070005 El Código de error parece estar relacionado con los permisos y, siguiendo los pasos de la Resolución 2, el Método 2 que asigna las cuentas correctas con permisos en las carpetas relevantes debería solucionarlo: pasé 3 días buscando una solución hasta que me encontré con él, trabajé inmediatamente después.
fuente
Tengo este problema con las unidades asignadas, IIS no funciona con las unidades asignadas. Simplemente use la unidad no asignada.
fuente
Explore la carpeta donde está almacenado su sitio web y vea que obtendrá una carpeta adicional "aspnet_client", elimine esa carpeta y funcionará para usted.
Intenté esto, mi problema está resuelto.
Si funciona para usted, hágalo como respuesta para que otro cuerpo también obtenga la solución.
fuente
Nada de esto funcionó para mí, pero finalmente tengo una solución que funcionó para mí:
elimine esta línea en web.config:
no elimines esta línea
fuente
Agregue la cuenta local IIS_IUSRS a la seguridad y dele acceso de lectura / ejecución. eso funciona en mi caso.
fuente