Estoy tratando de implementar una aplicación ASP.NET. He implementado el sitio en IIS, pero cuando lo visito con el navegador, me muestra esto:
Error del Servidor
Error interno de servidor 500.
Hay un problema con el recurso que está buscando y no se puede mostrar.
Después de jugar con el web.config, obtuve:
La página no se puede mostrar porque se ha producido un error interno del servidor.
¿Cómo puedo ver el problema real detrás de este error del servidor?
asp.net
iis
error-handling
Jacob Jedryszek
fuente
fuente
Respuestas:
Primero, debe habilitar y ver errores detallados de sus mensajes web, porque este es un mensaje general sin dar información sobre lo que realmente está sucediendo por razones de seguridad.
Con el error detallado, puede localizar el problema real aquí.
Además, si puede ejecutar el navegador en el servidor , obtendrá detalles sobre el error, porque el servidor reconoce que usted es local y se lo muestra. O si puedes leer el registro del servidor utilizando el Visor de eventos, también verá los detalles de su error.
En IIS 6
En IIS 7
Nota: puede evitar el Debug = true . Solo necesita cerrar los errores personalizados por un tiempo y obtener la página de error detallada.
Referencia: Habilitación de mensajes de error personalizados de Windows en los artículos de ayuda de Go Daddy .
Además, esto puede ayudar: Cómo habilitar los mensajes de error detallados (de IIS).
fuente
run the browser on the server
funcionó para mí ... gracias hermanoMe estaba sacando el pelo por este problema. Asegurándome de que la siguiente entrada estaba en el
web.config
archivo raíz lo arregló para mí:Recuerde que debe agregar esto a los elementos XML existentes , si ya están allí. No puede simplemente agregar al final del archivo, porque no puede tener múltiples copias de ningún elemento.
fuente
Para mí, el siguiente código en web.config fue el culpable. Cuando lo eliminé, el sitio web funcionó bien.
fuente
Finalmente resolví este error del "servidor interno 500" al implementar la aplicación ASP.NET MVC 3.0 en el alojamiento compartido godaddy.ocm.
de alguna manera hubo discrepancias en la versión de los archivos DLL referenciados y la versión mencionada en el archivo
web.config
.Probé todas las opciones mencionadas en varios foros. Nada ayudó, aunque todos sugirieron el mismo tipo de solución, pero de alguna manera no funcionó en mi escenario. Finalmente después de golpearme la cabeza durante dos días. Decidí eliminar todas las referencias de archivos DLL y eliminar web.cofig (hacer una copia local) del proyecto y dejar que la aplicación arroje el error y luego agregar los archivos DLL uno por uno haciendo una copia a local = true.
Después de agregar todos los archivos DLL, creé una nueva aplicación ASP.NET MVC y copié el web.config de la nueva aplicación en mi aplicación real. Entonces mi aplicación actual ahora tiene un nuevo web.config, y luego copié la cadena de conexión y otras referencias de la copia local de web.config que guardé.
Acabo de compilar la aplicación y publiqué en una carpeta local y FTP la carpeta publicada para goDaddy.
Funcionó y finalmente mi problema se resolvió.
fuente
En mi caso, puse un error en mi
web.config
archivo. La clave de la aplicación de alguna manera se colocó bajo la etiqueta <appSettings>. Pero me pregunto por qué no muestra un error de configuración. El error 500 es demasiado genérico para investigar el problema.fuente
Mi primer intento de publicar y luego ejecutar un sitio muy simple que solo sirve HTML produjo "La página no se puede mostrar porque se ha producido un error interno del servidor".
El problema: tenía el sitio configurado en .NET 3.5 en Visual Studio (haga clic con el botón derecho en el proyecto del sitio web -> Páginas de propiedades -> Compilar), pero tenía el sitio web en Azure configurado como .NET 4.0. ¡Uy! Lo cambié a 3.5 en Azure, y funcionó.
fuente
Además de las otras sugerencias, asegúrese de cambiar el
existingResponse
atributo delhttpErrors
nodo aAuto
partir deReplace
, o eliminar esa propiedad por completo.fuente
IIS también informa el código de estado 500 sin ninguna sugerencia de registro de eventos si no hay permisos suficientes en el directorio de inicio físico (es decir, IIS_IUSRS no tiene acceso).
fuente
En mi caso, reemplazo este código:
Luego cambie el marco 3.5 al marco 4. Muestra mi error detallado. Borro el código en:
Resolvió mi problema.
fuente
Para IIS 8 Hay un paso adicional que hacer además de cambiar customErrors = Off para mostrar el contenido del error.
Raúl respondió la pregunta en este enlace Desactiva los errores personalizados de IIS8 por Raúl
fuente
Probablemente su archivo web.config esté incorrecto o le falte alguna etiqueta. Resolví mi problema usando las etiquetas de configuración correctas para .NET 4.
fuente
Me di cuenta de que los permisos para los archivos y carpetas en su servidor también son importantes. Subí mis archivos desde un sistema operativo Linux y, por lo general, los permisos son limitados para leer y escribir. Entonces, cuando se cargan, los permisos siguen siendo los mismos que en la máquina local.
Tuve el mismo error y acabo de cambiar los permisos para la carpeta que había subido y el error desapareció.
Espero que ayude a alguien.
fuente
He estado enfrentando el mismo problema, pero ahora mi problema se ha resuelto. Siempre use en este hosting este funciona.
También les recomendaré a todos que hagan los cambios que deseen realizar en su archivo web.config. Hágalo uno por uno y pruebe lo mismo en el dominio en vivo para que pueda encontrar el problema exacto o las características que su proveedor de alojamiento no le permite usar.
fuente
Si está utilizando un HttpHandler personalizado (es decir, implementando
IHttpModule
), asegúrese de inspeccionar las llamadas a suError
método.Podría hacer que su controlador arroje el real
HttpExceptions
(que tiene unaMessage
propiedad útil ) durante la depuración local como esta:También asegúrese de inspeccionar las excepciones
InnerException
.fuente
500 error interno del servidor puede surgir debido a varias razones. La primera razón podría ser que el archivo web.config no se ha creado correctamente, significa que ha perdido alguna etiqueta en el archivo web.config. En segundo lugar, este error puede deberse a algún problema de código. Para verificar qué componente de la aplicación web está causando este error, puede verificar la configuración de la aplicación en el archivo web.config. El detalle de resolver y rastrear 500 errores internos del servidor con el diagrama se proporciona aquí:
fuente
Asegúrese de que su cuenta use IIS 7. Para obtener más información, consulte Personalizar la configuración de IIS en su cuenta de alojamiento de Windows. Siga las instrucciones en Cambio del modo de canalización en su cuenta de alojamiento de Windows IIS 7. Seleccione el modo de tubería integrada. En la sección Referencias del proyecto, configure Copiar local en Verdadero para los siguientes ensamblados:
Agregue los siguientes ensamblados a su proyecto y luego configure Copiar local en Verdadero:
fuente
A veces, la razón podría ser que uno de sus ensamblados .dll no esté registrado correctamente en el servidor.
Por ejemplo, puede ejecutar con éxito una aplicación web C # Excel en su máquina local con Office instalado, mientras obtiene el error 500 en la implementación del servidor, porque no hay una suite de Office instalada en el servidor y, por lo tanto, obtiene el error del servidor.
fuente
Para aquellos que tienen esta posibilidad (VPS hosting no web hosting):
Conéctese a su servidor de alojamiento a través de Escritorio remoto. Abra el navegador web desde su escritorio remoto y verá la descripción detallada del error.
No necesita modificar web.config o exponer ningún detalle a nadie más.
fuente
Si está utilizando IIS 8.5, es posible que deba cambiar la configuración de ID de ApplicationPool de ApplicationPoolId a NetworkService
Haga clic con el botón derecho en el grupo de aplicaciones en cuestión, haga clic en "Configuración avanzada" y luego desplácese hacia abajo hasta ID ; probablemente se establecerá en ApplicationPoolIdentity . Haga clic en el botón (..) y seleccione NetworkService de la lista desplegable.
También asegúrese de que si se trata de una aplicación .NET 2.0, no hace referencia al marco 4.0 en su grupo de aplicaciones.
fuente
Antes de cambiar el
web.config
archivo, comprobaría que la.NET Framework
versión que está utilizando es exactamente (lo digo en serio, 4.5! = 4.5.2) la misma en comparación con suGoDaddy
configuración (configuración de ASP.Net en suPlesk panel
). Eso debería cambiar automáticamente su archivo web.config al marco correcto.También tenga en cuenta que por ahora (enero '16),
GoDaddy
trabaja conASP.Net 3.5
y4.5.2
. Para usar4.5.2
con Visual Studio, debe ser2012
o más reciente, y si no es 2015, debe descargar e instalar .NET Framework 4.5.2 Developer Package.Si aún no funciona, entonces sí, su próximo paso debería ser habilitar informes detallados de errores para que pueda depurarlo.
fuente
Recientemente tuve el mismo problema, el espacio en disco estaba lleno en el servidor. Despejar algo de espacio ha resuelto el problema.
fuente
Intente compilar en modo de depuración (en Visual Studio). Si está en modo Release, muchos errores de reescritura de URL no estarán disponibles.
La imagen muestra el cuadro combinado de selección de depuración en Visual Studio
fuente