2009-06-02 11 views
0

내가 페이지를 강제로 노력하고 SSL에서 실행되는 리디렉션, 그래서를 Page_Load에 다음과 같은 구현이가 어떤 이유로리디렉션 루프 //

if (!Request.IsLocal && !Request.IsSecureConnection) 
     { 
      Response.Redirect(Helper.GetInstance().SSLBaseURL() + ScriptName()); 
     } 

루프로 끝납니다. 오늘 초에 Request.Uri.Scheme을 확인했는데 명확하게 https://www.domain.com/pagename.aspx에 연결되었지만 "http"로 확인되었습니다.

이 페이지가 Google에서 https로 실행되고 있는지 제대로 감지하지 못하는 이유는 무엇입니까?

+0

이것이 실패 할 경우 Request.IsSecureConnection의 값은 무엇입니까? – annakata

+0

거짓입니다. 리디렉션을 주석 처리하고 https에 수동으로 찾아보고 Request.IsSecureConnection.ToString()에서 response.write를 수행했습니다. – Keith

+0

글쎄, 나는 속이기로 결정하고 단 하나의 리디렉션이 발생하도록 세션 변수를 유지합니다. 루핑 문제를 처리하지만 문제는 여전히 남아 있습니다. 이러한 특정 서버가 웹 트래픽을 라우팅하는 방식과 관련이 있는지 궁금합니다. – Keith

답변

1

나는 이것을 웹 서버 측에서 처리 할 것이다. IIS를 실행하는 경우 간단하지는 않지만 강제 SSL 옵션을 활성화하고 https로 리디렉션되는 403; 4 (저는 SSL 요구 오류라고 생각합니다)에 대한 사용자 정의 오류 페이지를 구현할 수 있습니다.