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.config
y, <system.webServer><httpErrors>
en %systemroot%\System32\inetsrv\config\applicationHost.config
ambos 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 Management
sección del sitio, abra Configuration Editor
y profundice en la configuración que desea cambiar, en la parte superior cambie el From
menú desplegable a Root Web.Config
oApplicationHost.config
Todavía no es muy fácil, pero puedes salirte con la tuya con un solo sitio web.