UrlScan 및 요청 필터링 긴 URL

UrlScan 및 요청 필터링 긴 URL

우리의윈도우/IIS 7.5환경은 다음과 같이 구성됩니다.UrlScan그리고IIS 요청 필터링. 긴 URL 문제가 발생했습니다.

/MyWeb/TestFW/prweb/Servelt1/ZsvSk3vV8PtgJEa4_x3fiQ[[*/!MyWebApp/webwb/desktop_domainsuffix_1819019784.js!yui_13833664524!desktopwrapper_12997951049!automationscripts_1864420987!ui_jquery_1796787788!desktopwrapper_12997951049!automationscripts_1864420987!ui_jquery_1796787788!

참고: URL을 수정했는데 그게 구조이고 메모장에 넣으면 880바이트 정도 나옵니다.

UlrScan.ini파일에는 요청 제한 섹션에 대한 모든 기본 구성이 있습니다.

MaxAllowedContentLength=30000000
MaxUrl=260
MaxQueryString=2048

IIS의 요청 필터링또한 활성화되어 있으며 기본값은 다음과 같습니다.

<security>
   <requestFiltering>
    <requestLimits
       maxAllowedContentLength="30000000"
       maxUrl="4096"
       maxQueryString="2048" 
                  />
  </requestFiltering>
  </security>

테스트를 실행했는데 게시물 상단에 제공한 URL이 403 오류로 인해 실패했습니다. URL은 880바이트이므로 요청 필터링이 우선시되면 실패하지 않을 것이므로 가정합니다.UrlScanIIS의 요청 제한을 고려하지 않고 실행됩니다.

IIS 관리자에게 IIS 로그를 제공해달라고 몇 번 요청했는데 공유된 로그에는 403만 표시됩니다. 다른 모든 Microsoft 지원 문서에서 언급한 대로 404 또는 404.14 오류는 없습니다.

그렇다면 내 관찰이 정확합니까? 이러한 종류의 설정에서는 어떤 구성이 우선적으로 적용됩니까? UrlScan입니까 아니면 IIS의 요청 필터링입니까?

요청 필터링을 우선적으로 적용할 수 있는 옵션이 있는지 듣고 싶습니다.UrlScan요청 필터링은 사이트 수준까지만 사용자 정의할 수 있는 애플리케이션 수준까지 사용자 정의할 수 있기 때문입니다 UrlScan.ini.

또한 IIS 설명서에 따르면UrlScan기능이 IIS의 요청 필터링에 통합되고 있는데, 왜 최대 URL의 기본값 사이에 큰 차이가 있습니까? IIS의 요청 필터링에서는 260바이트 urlscan.ini, 4096바이트입니다.

답변1

UrlScan은 요청이 IIS 요청 필터링 모듈에 도달하기 전에 요청을 중지합니다. 이상적이고 권장되는 솔루션은 UrlScan을 해제하고 IIS 7 이상에서 IIS 요청 필터링 모듈만 사용하는 것입니다. IIS 7.5의 이 모듈은 urlscan 모듈의 모든 기능을 갖추고 있으므로 해제하지 않을 기술적인 이유가 없습니다. 하지만 관리자가 이에 대해 불편해했기 때문에 우리는 아래 접근 방식을 따랐습니다. 긴 요청을 허용하도록 urlscan 모듈의 maxUrl을 4096으로 늘립니다. 요청 필터링 모듈은 기본 웹 사이트 수준이나 글로벌 서버 수준 및 개별 애플리케이션 수준에서 구성할 수 있습니다. 따라서 기본 웹 사이트 수준 urlScan은 모든 응용 프로그램에 적용되는 460자로 남겨졌고 내 응용 프로그램에서는 요청 필터링의 maxUrl이 4096으로 설정되었습니다. 이런 식으로 다른 50개 응용 프로그램에는 기본적으로 몇 년 전에 제한이 설정되어 있으며 내 응용 프로그램에는 긴 요청을 처리하는 데 더 많은 시간이 소요됩니다.

감사해요.

관련 정보