Erros remotos do IIS para hosts específicos

1

Uma das opções de configuração do IIS é quanto detalhe de erro vai para o navegador do cliente.

Está claro por que alguém desejaria seus próprios servidores de desenvolvimento e não passaria mensagens de erro detalhadas para o público a partir de seus servidores de produção.

Como você configura o IIS para enviar os erros para hosts específicos, como o endereço IP do desenvolvedor, por exemplo? Eu não quero desktop remoto para o servidor apenas para ver qual é o erro real no aplicativo.

Como alternativa, estou pensando em configurar outro site no mesmo servidor e conceder acesso apenas a hosts específicos. Este site funcionará como um proxy reverso para o site que estou tentando obter erros detalhados, mas isso parece mais complicado do que deveria ser.

    
por spz 26.02.2015 / 20:59

1 resposta

1

O uso das configurações padrão do IIS permite distinguir apenas entre o servidor local e qualquer máquina remota. Não há como permitir que determinadas máquinas remotas obtenham erros detalhados, enquanto outras não o fazem.

Existe um truque de como você pode fazer isso de qualquer maneira.

A sua ideia de ter um segundo site para desenvolvimento já está à vista, o ideal é que você deseje um único site com todos os seus arquivos de aplicativo, mas deseja dois web.configs diferentes para definir suas configurações de erro.

Não é possível ter um único site, mas duas configurações, mas o sistema de configuração do IIS é hierárquico e você pode armazenar a maioria das configurações em mais de um local.

Crie dois sites apontando para o mesmo local físico.

Em vez de colocar suas configurações no web.config local, você coloca <system.web><customErrors> no global web.config %systemroot%\Microsoft.NET\Framework64\v4.0.30319\Config\web.config e <system.webServer><httpErrors> em %systemroot%\System32\inetsrv\config\applicationHost.config . Em ambos os casos, você coloca essas configurações em uma tag de localização, como :

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

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

Você ainda pode usar o Gerenciador do IIS para fazer isso, na seção Management do site, abrir o Configuration Editor e detalhar as configurações que deseja alterar. Na parte superior, altere a From drop- até Root Web.Config ou ApplicationHost.config

Ainda não é super fácil, mas você se safa com um único site.

    
por 26.02.2015 / 22:10