TLDR: Primero determine de qué parte de la tubería está obteniendo el error (desplácese buscando capturas de pantalla de algo que se parezca a su error), realice cambios para obtener algo nuevo, repita.
Primero determine qué mensaje de error está viendo realmente.
Si está viendo el archivo ubicado aquí ...
% SystemDrive% \ inetpub \ custerr \\ 500.htm
... que generalmente se ve así:
... entonces sabe que está viendo la página de error configurada actualmente en ** IIS ** y NO necesita cambiar la configuración de ASP.net customErrors, la configuración de detalles de error asp o la configuración del navegador "mostrar errores http amigables".
Es posible que desee ver la ruta de referencia anterior en lugar de confiar en mi captura de pantalla en caso de que alguien la haya cambiado.
"Sí, veo el error descrito anteriormente ..."
En este caso, está viendo la configuración de < httpErrors > o en el Administrador de IIS es Páginas de error -> Editar configuración de funciones . El valor predeterminado para esto es errorMode = DetailLocalOnly en el nivel del nodo del servidor (en oposición al nivel del sitio), lo que significa que si bien verá esta página de error configurada mientras está remota, debería poder iniciar sesión localmente en el servidor y ver la lista completa error que debería verse así:
Debería tener todo lo que necesita en ese momento para corregir el error actual.
"Pero no veo el error detallado incluso navegando en el servidor"
Eso deja un par de posibilidades.
- El navegador que está utilizando en el servidor está configurado para usar un proxy en su configuración de conexión, por lo que no se considera "local".
- En realidad, no está navegando hacia el sitio que cree que está navegando; esto ocurre comúnmente cuando hay un equilibrador de carga involucrado. Haga una comprobación de ping para ver si dns le proporciona una IP en el servidor o en otro lugar.
- Eres httpErrors de tu sitio configuración de está configurada solo para "Personalizada". Cámbielo a "DetailLocalOnly". Sin embargo, si tiene un error de configuración, esto puede no funcionar ya que el nivel de sitio httpErrors también es un elemento de configuración. En ese caso, pase al n. ° 4
- El valor predeterminado para httpErrors para todos los sitios está configurado como "Personalizado". En este caso, debe hacer clic en el nodo del servidor de nivel superior en el Administrador IIS (y no en un sitio en particular) y cambiar los httpErrors configuración de allí a . Si se trata de un servidor interno y no le preocupa divulgar información confidencial, también puede configurarlo en "Detallado", lo que le permitirá ver el error de otros clientes que no sean el servidor.
- Te falta un módulo en el servidor como UrlRewrite (este me muerde mucho, y a menudo da el mensaje genérico independientemente de la configuración de httpErrors).
"Iniciar sesión en el servidor no es una opción para mí"
Cambie los httpErrors de su sitio a "Detallado" para que pueda verlo de forma remota. Pero si no funciona, su error ya podría ser un error de configuración, consulte el n. ° 3 inmediatamente anterior. Por lo tanto, puede estar atrapado con el n. ° 4 o n. ° 5 y necesitará a alguien de su equipo de servidores.
"No veo la página de error descrita anteriormente. Estoy viendo algo diferente"
Si ves esto ...
... y esperas ver algo como esto ...
... entonces necesita cambiar "Enviar errores al navegador" a verdadero en el Administrador de IIS, en Sitio -> IIS -> ASP -> Propiedades de depuración
Si ves esto ...
o esto...
... necesita deshabilitar errores amigables en su navegador o usar la vista web de Fiddler para ver la respuesta real frente a lo que su navegador elige mostrarle.
Si ves esto ...
... entonces los errores personalizados están funcionando pero no tienes una página de error personalizada (por supuesto, en este punto hablamos de .net y no de asp clásico). Debe cambiar su etiqueta customErrors en su web.config a RemoteOnly para ver en el servidor o Off para ver de forma remota.
Si ve algo que tiene el estilo de su sitio, es probable que los errores personalizados estén en On o RemoteOnly y muestre la página personalizada (Vistas-> Compartido-> Error.cshtml en MVC, por ejemplo). Dicho esto, es poco probable pero posible que alguien haya cambiado las páginas en IIS para httpErrors, así que vea la primera sección sobre eso.