특정 호스트에 대한 IIS 원격 오류

특정 호스트에 대한 IIS 원격 오류

IIS 구성 옵션 중 하나는 클라이언트 브라우저에 전달되는 오류 세부 정보의 양입니다.

자체 개발 서버를 원하고 프로덕션 서버에서 대중에게 자세한 오류 메시지를 전달하지 않는 이유는 분명합니다.

예를 들어 개발자의 IP 주소와 같은 특정 호스트에 오류를 보내도록 IIS를 어떻게 설정합니까? 응용 프로그램에 실제 오류가 무엇인지 확인하기 위해 서버에 대한 원격 데스크톱을 원하지 않습니다.

내가 생각하는 대안은 동일한 서버에 다른 웹사이트를 설정하고 특정 호스트에만 액세스 권한을 부여하는 것입니다. 이 웹사이트는 제가 자세한 오류를 제거하려고 하는 웹사이트에 대한 역방향 프록시 역할을 할 것입니다. 그러나 이는 예상보다 더 복잡해 보입니다.

답변1

표준 IIS 설정을 사용하면 로컬 서버와 원격 시스템만 구별할 수 있습니다. 특정 원격 컴퓨터에서는 자세한 오류가 발생하고 다른 컴퓨터에서는 발생하지 않도록 할 수 있는 방법이 없습니다.

어쨌든 이것을 할 수 있는 방법이 있습니다.

개발을 위한 두 번째 사이트에 대한 아이디어는 이미 정립되었습니다. 이상적으로는 모든 애플리케이션 파일이 포함된 단일 사이트를 원하지만 오류 설정을 정의하기 위해 두 개의 다른 web.config를 원합니다.

단일 사이트에 두 개의 구성을 갖는 것은 불가능합니다. 그러나 IIS 구성 시스템은 계층적이므로 대부분의 설정을 두 곳 이상의 위치에 저장할 수 있습니다.

동일한 물리적 위치를 가리키는 두 개의 웹 사이트를 만듭니다.

설정을 로컬 web.config에 넣는 대신 <system.web><customErrors>전역 web.config에 %systemroot%\Microsoft.NET\Framework64\v4.0.30319\Config\web.config넣고 두 경우 모두 다음과 같은 위치 태그로 설정을 묶습니다 <system.webServer><httpErrors>.%systemroot%\System32\inetsrv\config\applicationHost.config

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

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

여전히 IIS 관리자를 사용하여 Management사이트 섹션 에서 Configuration Editor변경하려는 설정을 열고 드릴다운하고 상단에서 From드롭다운을 Root Web.Config또는 로 변경할 수 있습니다.ApplicationHost.config

여기에 이미지 설명을 입력하세요

여전히 쉽지는 않지만 단일 웹 사이트만 있으면 됩니다.

관련 정보