2009-12-08 5 views
2

SSL을 사용하도록 설정해야하는 ASP.Net 웹 사이트에 하나의 디렉토리가 있습니다. 다른 모든 디렉토리의 경우 SSL 사용을 원하지 않습니다.자동 IIS6 403.4 SSL 리디렉션이 작동하지 않습니다.

IIS를 사용하여 SSL을 요구하려는 폴더에 대해 보안 채널 (SS) 및 128 비트 암호화 필요 확인란을 선택했습니다.

이제 보안 디렉토리에 대해 사용자가 "http : //"를 입력하면 자동으로 "https : //"로 리디렉션하려고합니다. 나는 두 가지 접근법을 시도했으며 두 가지 모두 실패했다.

접근법 1 : 403에 대한 디렉토리의 IIS 사용자 정의 오류 페이지를 "/Intranet2/SSLRedirect.aspx"를 가리키는 URL로 변경하십시오. SSLRedirect는 올바른 사이트를 가리 킵니다. 그럴 때 URL은 웹 사이트의 일부이며 전체 웹 사이트 (DefaultAppPool 제외)에 하나의 응용 프로그램 풀만 있지만 "현재 요청 된 응용 프로그램 풀에서 지정된 요청을 실행할 수 없습니다."오류가 발생합니다.

접근법 2 : 403 오류 코드를 덮어 쓸 디렉토리에 web.config를 추가하십시오. 다음과 같이 보입니다 :

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.web> 
     <customErrors defaultRedirect="../Default.aspx" mode="On"> 
      <error statusCode="403" redirect="../SSLRedirect.aspx" /> 
     </customErrors> 
    </system.web> 
</configuration> 

그러나이 변경 작업을 수행 할 때 IIS에서 정의 된 기본 403.4가 항상 표시됩니다.

제안 사항?

답변

0

접근법 1 : 전체 웹 사이트에 대해 하나의 응용 프로그램 풀만 구성되었다고 생각하는 것 같습니다. 기본 사이트와 작업중인 가상 디렉터리를위한 사이트가있을 것입니다. 당신의 선택 중 하나입니다 :

가) 당신이 정말로 전체 사이트에 대해 하나 개의 응용 프로그램 풀,

B를 가지고 않도록)를 다시 구성 동일한 응용 프로그램 풀로에있는 디렉토리에서 오류 페이지를 봉사 오류가 발생한 페이지

c) 레지스트리를 조정하여이 오류를 종료하십시오. HKLM \ SYSTEM \ CurrentControlSet \ Services \ W3SVC \ Parameters에서 IgnoreAppPoolForCustomErrors를 1로 설정하십시오. http://blogs.msdn.com/b/rakkimk/archive/2006/09/01/735684.aspx

접근법 2 : web.config의 사용자 정의 오류는 asp.net이 오류를 처리하는 경우에만 사용됩니다. 나는 ssl 점검이 실패했기 때문에 IIS가 여기 asp.net 엔진을 다루는 것을 원하지 않는다고 생각한다. 그래서 이것은 여기서 간단히 작동하지 않을 것입니다.

관련 문제