windows - solucionar - problema 500
¿Desactivar el manejo de errores HTTP IIS7? (2)
Acabo de configurar mi primer servidor de Windows Server 2008 / IIS7.5 para un concurso en el que participo. No puedo, por la vida de mí, descubrir cómo desactivar el tratamiento de errores COMPLETAMENTE . Las únicas opciones que veo son:
- Personalizado
- Detallado
- Detallado local, personalizado para control remoto
Quiero desactivar la función por completo, y no veo ninguna manera de hacerlo. ¿Me estoy perdiendo de algo?
Mi situación:
Tengo un marco PHP RESTful que atrapa excepciones y emite un estado de HTTP 500 si la excepción no se ha manejado aún. A continuación, coloca el mensaje de excepción especificado en el cuerpo de la respuesta y lo envía al navegador. Esto funciona bien en Apache: se envían los encabezados correctos y el mensaje se muestra al usuario. En IIS, sin embargo, la respuesta a los códigos de estado HTTP 4xx y 5xx siempre se intercepta y se inyecta con algún otro mensaje preparado o archivo HTML, y eso es exactamente lo que no quiero que haga más. ¡Por favor ayuda!
Después de una búsqueda más extensa, encontré la respuesta aquí:
La solución es editar manualmente su archivo web.config con esta entrada personalizada de "httpErrors":
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpErrors existingResponse="PassThrough" />
</system.webServer>
</configuration>
Sin embargo, debido a la función de "bloqueo" de IIS 7.0, es posible que obtenga una "Esta sección de configuración no se puede utilizar en esta ruta. Esto sucede cuando la sección está bloqueada en un nivel principal". error. Para resolver eso, ejecute lo siguiente en el símbolo del sistema:
cd C:/Windows/System32/inetsrv
appcmd unlock config /section:httpErrors
En el Administrador de IIS -> Sitio -> Páginas de error, haga clic con el botón derecho en cada página de error y seleccione ''Eliminar''.
Lamentablemente, no hay forma de decirle a IIS que no interfiera desde el lado del script, por lo que siempre es un problema de implementación molesto.