httpErrors에서 errorMode 위임
작성자 : Walter Oliver
경고: 이 기능은 현재 IIS 7.0에서 예상대로 작동하지 않습니다. 다음 릴리스에 대해 해결 중입니다. IIS 7.0에서는 특정 사이트 또는 전체 서버에 대해 HTTP 오류를 잠그고 잠금을 해제할 수 있습니다. 그러나 현재 httpErrors에 대해 "lockAllAttributesExcept="errorMode"가 작동하지 않습니다. 그러나 다른 IIS 구성 섹션에서 특정 특성의 잠금을 해제하는 방법에 대한 이 문서의 아이디어를 사용할 수 있습니다.
호스트가 전체 섹션을 위임하지 않고 "applicationhost.config" 파일에서 고객에게 특정 설정을 위임해야 하는 경우가 있습니다. httpErrors 섹션의 errorMode 설정은 그 중 하나이고, 다른 하나는 ASP 섹션의 scriptErrorSentToBrowser 설정입니다. 문제 해결을 위해 호스트의 고객은 원격 클라이언트에서 자세한 오류를 표시할 수 있습니다. 이를 사용하도록 설정하려면 호스트가 errorMode(lockAllAttributesExcept="errorMode")를 제외한 모든 특성을 잠그고 오류 요소(lockElements="error")를 잠가야 합니다. 이렇게 하면 고객이 errorMode를 "detailedLocalOnly"에서 "Detailed"로 변경할 수 있으며 모든 오류에 대해 자세한 오류가 발생합니다.
errorMode 설정을 위임하려면 다음을 수행합니다.
텍스트 편집기로 열고
%windir%\system32\inetsrv\config\applicationhost.config
name="httpErrors" overrideModeDefault="Deny" /> 요소를 다음과 같이 변경<하여 overrideModeDefault를 통해 applicationhost.config 섹션의<httpErrors>
위임을 허용합니다.<section name="httpErrors" overrideModeDefault="Allow" />
lockAllAttributesExcept 및 lockElements를 사용하여 errorMode 설정의 위임만 허용하고 요소를 찾아
<httpErrors>
다음과 같이 변경합니다.<httpErrors lockAllAttributesExcept="errorMode" lockElements="error" >
httpErrors 섹션은 변경 후 다음과 같이 표시될 수 있습니다.
<httpErrors lockAllAttributesExcept="errorMode" lockElements="error"> <error statusCode="401" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="401.htm" /> <error statusCode="403" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="403.htm" /> <error statusCode="404" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="404.htm" /> <error statusCode="405" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="405.htm" /> <error statusCode="406" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="406.htm" /> <error statusCode="412" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="412.htm" /> <error statusCode="500" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="500.htm" /> <error statusCode="501" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="501.htm" /> <error statusCode="502" prefixLanguageFilePath="%SystemDrive%\inetpub\custerr" path="502.htm" /> </httpErrors>
이제 호스트가 appcmd를 사용하여 errorMode 설정을 "Detailed" 또는 "Custom"으로 설정할 수 있습니다(아래 예제 참조).
%windir%\system32\inetsrv\appcmd set config "Default Web Site" -section:httpErrors -errorMode:Detailed
또는 고객에게 web.config 파일에 다음 문을 입력하도록 요청할 수 있습니다.
<system.webServer> <httpErrors errorMode="Detailed"/> </system.webServer>
리소스
자세한 내용은 다음을 참조하세요.