ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • IIS 7.0 에서 404.7 404.8 오류 해결방법
    dev/etc 2009. 7. 15. 13:49

    웹 서버 파일을 다운로드 하려고 하는데 404.7, 404.8 에러 발생.

    가능성이 높은 원인:
    • 웹 서버에 요청 필터링이 구성되어 있으며 요청 필터링에는 서버 관리자가 특정 디렉터리에 대한 액세스를 거부할 수 있도록 하는 hiddenSegments 섹션이 포함되어 있습니다.
    가능성이 높은 원인:
    • 웹 서버에 요청 필터링이 구성되어 있으며 이 요청의 파일 확장명이 명시적으로 거부되었습니다.


    구글신께 물어보니 IIS 7.0 에서 요청 필터링인란게 생겼다네.
    http://www.iis.net/ConfigReference/system.webServer/security/requestFiltering/hiddenSegments
    ㄴ설치 및 사옹법
    IIS 관리도구에서 요청 필터링 설정하게 해주는거.

    근데 내 2008 ent 에서 관리도구에서 요청 필터링 아이콘이 안나와 ㅡ,ㅡ;;

    그래서 그냥 ApplicationHost.config 직접 수정.
    첫번째 에러 설명대로 내경운 bin 폴더의 파일을 받으려 한거기 때문에 <hiddenSegments> 부분의 <add segment="bin" /> 주석처리 하니 제대로 받을수 있네.

    근데 이래버리면 전체 웹어플에 다 적용되버리니 원하는 웹어플에만 적용되게 web.config 로 지역화.
     
    아래는 내가 사용한 예

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
     <system.web>
      <compilation defaultLanguage="c#" />
     </system.web>
     <system.webServer>
      <security>
       <requestFiltering>
        <fileExtensions allowUnlisted="true" applyToWebDAV="true">
         <remove fileExtension=".mdb" />
         <remove fileExtension=".config" />
        </fileExtensions>
        <hiddenSegments applyToWebDAV="true">
         <remove segment="bin" />
        </hiddenSegments>
       </requestFiltering>
      </security>
     </system.webServer>
    </configuration>
     
    remove 요소로 제거 가능.

    이상.
Designed by Tistory.