Errores remotos de IIS en hosts específicos

Errores remotos de IIS en hosts específicos

Una de las opciones de configuración de IIS es cuántos detalles de error llegan al navegador del cliente.

Está claro por qué uno querría tener sus propios servidores de desarrollo y no pasar mensajes de error detallados al público desde sus servidores de producción.

¿Cómo se configura IIS para enviar los errores a hosts específicos, como la dirección IP del desarrollador, por ejemplo? No quiero acceder al escritorio remoto del servidor solo para ver cuál es el error real en la aplicación.

La alternativa que estoy pensando es configurar otro sitio web en el mismo servidor y otorgar acceso solo a hosts específicos. Este sitio web actuará como un proxy inverso del sitio web del que estoy intentando obtener errores detallados, pero parece más complicado de lo que debería ser.

Respuesta1

El uso de la configuración estándar de IIS sólo le permite distinguir entre el servidor local y cualquier máquina remota. No hay forma de permitir que ciertas máquinas remotas obtengan errores detallados mientras que otras no.

De todos modos, hay un truco para hacer esto.

Su idea de tener un segundo sitio para el desarrollo ya es acertada; idealmente desea un solo sitio con todos los archivos de su aplicación, pero desea dos web.configs diferentes para definir su configuración de error.

No es posible tener un solo sitio pero dos configuraciones, pero el sistema de configuración de IIS es jerárquico y puede almacenar la mayoría de las configuraciones en más de un lugar.

Cree dos sitios web que apunten a la misma ubicación física.

En lugar de colocar su configuración en el web.config local, la coloca <system.web><customErrors>en el web.config global %systemroot%\Microsoft.NET\Framework64\v4.0.30319\Config\web.configy, <system.webServer><httpErrors>en %systemroot%\System32\inetsrv\config\applicationHost.configambos casos, rodea estas configuraciones con una etiqueta de ubicación como:

<location path="ProdSite">
    <system.web>
        <customErrors mode="On" />
    </system.web>
</location>

<location path="DevSite">
    <system.web>
        <customErrors mode="Off" />
    </system.web>
</location>

Aún puede usar el Administrador de IIS para hacer esto, en la Managementsección del sitio, abra Configuration Editory profundice en la configuración que desea cambiar, en la parte superior cambie el Frommenú desplegable a Root Web.ConfigoApplicationHost.config

ingrese la descripción de la imagen aquí

Todavía no es muy fácil, pero puedes salirte con la tuya con un solo sitio web.

información relacionada