문제

ASP.NET 웹 사이트에 SSL을 활성화 해야하는 단일 디렉토리가 있습니다. 다른 모든 디렉토리의 경우 SSL을 활성화하는 것을 원하지 않습니다.

IIS를 사용하여 SSL이 필요한 폴더에 대한 SS (Secure Channel) 및 128 비트 암호화 확인란을 확인했습니다.

이제 사용자가 "http : //"에서 유형을 입력하면 보안 디렉토리의 경우 "https : //"로 자동 리디렉션을 원합니다. 나는 두 가지 접근 방식을 시도했지만 둘 다 실패했습니다.

접근 1 : 403의 디렉토리의 IIS 사용자 정의 오류 페이지를 "/intranet2/sslredirect.aspx"로 가리키는 URL로 변경합니다. sslredirect는 올바른 사이트를 가리 킵니다. 그렇게하면 URL이 웹 사이트의 일부이고 전체 웹 사이트에 대한 앱 풀 (DefaultAppPool이 아닌)이 하나만 있습니다.

접근 2 : 디렉토리에 web.config를 추가하여 403 오류 코드를 넘어냅니다. 이렇게 보인다 :

<?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를 정의합니다.

제안이 있습니까?

도움이 되었습니까?

해결책

접근 1 : 전체 웹 사이트에 대해 하나의 앱 풀만 구성되어 있다고 생각하는 데 착각 한 것 같습니다. 아마도 기본 사이트와 함께 작업하는 가상 디렉토리 용 하나가있을 것입니다. 귀하의 선택은 다음 중 하나입니다.

a) 전체 사이트에 대한 앱 풀이 하나만 있도록 재구성하십시오.

b) 오류를 생성하는 페이지와 동일한 앱 풀에있는 디렉토리에서 오류 페이지를 제공합니다.

c) 레지스트리를 조정 하여이 오류를 종료하기 위해 : hklm system currentcontrolset services W3SVC 매개 변수에서 exorePpoolforCustomErrors를 설정하십시오. 보다 http://blogs.msdn.com/b/rakkimk/archive/2006/09/01/735684.aspx

접근 2 : web.config의 사용자 정의 오류는 asp.net이 오류를 처리하는 경우에만 사용됩니다. SSL 검사에 실패했기 때문에 IIS가 ASP.NET 처리 엔진을 참여시키지 않는다고 생각합니다. 그래서 이것은 단순히 여기서 작동하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top