다음을 통해 공유


ASP

작성자: 월터 올리버

클래식 ASP는 IIS 7.0 이상에 포함되며 공유 호스팅 시나리오에서 사용할 수 있습니다. 그러나 이를 계획하는 호스트는 다음 권장 사항을 고려해야 합니다.

  1. ASP 템플릿 캐시를 끕니다. ASP 디스크 템플릿 캐시는 공유 호스팅 인식이 아니므로 사용하지 않도록 설정해야 합니다. 작업자 프로세스당 최대 500개 ASP 페이지가 디스크에 기록되기 전에 메모리에 캐시되므로 문제가 되지 않습니다.
  2. scriptErrorSentToBrowser 설정을 위임합니다. IIS 팀은 IIS 7.0 이상에서 클래식 ASP 보안을 강화했습니다. 예를 들어 scriptErrorSentToBrowser 속성은 false로 설정됩니다. 즉, 사용자의 브라우저에 스크립트 오류가 전혀 표시되지 않습니다. 그러나 호스트된 환경에서는 문제가 될 수 있습니다. 클래식 ASP 오류를 해결하는 다른 방법은 거의 없습니다. 템플릿 캐시의 위치 및 호스트가 위임 <하지 않을 수 있는 runOnEndAnonymously 설정과 같은 특정 설정이 있으므로 applicationhost.config asp> 섹션을 위임하지 않는 것이 좋습니다. 아래 지침에서는 전체 <asp> 섹션을 위임하지 않고 scriptErrorSentToBrowser 설정을 위임하는 방법에 대한 지침을 제공합니다.

ASP 템플릿 캐시를 해제하려면 다음을 수행합니다.

명령 프롬프트를 열고 다음을 실행합니다.

%windir%\system32\inetsrv\appcmd set config -section:asp -cache.maxDiskTemplateCacheFiles:0

scriptErrorSentToBrowser 설정을 위임하려면 다음을 수행합니다.

  1. 텍스트 편집기를 사용하여 열고 %windir%\system32\inetsrv\config\applicationhost.config name="asp>" overrideModeDefault="Deny" /> 요소를 다음과 같이 변경<하여 overrideModeDefault를 통해 applicationhost.config asp 섹션의 위임<을 허용합니다.

    <section name="asp" overrideModeDefault="Allow" />
    
  2. lockAllAttributesExcept 및 lockElements를 사용하여 scriptErrorSentToBrowser 설정의 위임만 허용하고 asp> 요소를 찾아 <다음과 같이 변경합니다.

    <asp lockAllAttributesExcept="scriptErrorSentToBrowser" lockElements="limits,cache" />
    
  3. 이제 호스트가 appcmd를 사용하여 scriptErrorSentToBrowser 설정을 true로 설정할 수 있습니다(아래 예제 참조).

    %windir%\system32\inetsrv\appcmd set config "Default Web Site" -section:asp -scriptErrorSentToBrowser:true
    

    또는 고객에게 web.config 파일에 다음 문을 입력하도록 요청할 수 있습니다.

    <system.webServer>
       <asp scriptErrorSentToBrowser="true"/>
    </system.webServer>
    

리소스

자세한 내용은 다음을 참조하세요.