2009-06-17 3 views
1

서버의 루트에 SSL을 설치했습니다. 코드 뒤에 코드가있는 특정 페이지를 보안 페이지로 리디렉션해야하는 페이지가 있습니다. 다음은 리디렉션 코드입니다.IIS가 비보안 버전에 302가 포함 된 보안 (SSL) 페이지 요청에 응답하는 이유는 무엇입니까?

switch (PageBase2.GetParameterValue("Environment")) //Retrieves App Setting named Environment from web.config 
      { 
       case "Server": 
        strURL = @"https://" + HttpContext.Current.Request.Url.Authority + "/checkout/payment.aspx"; 
        break; 
       case "Local": 
        strURL = @"http://" + HttpContext.Current.Request.Url.Authority + "/checkout/payment.aspx"; 
        break; 
       default: 
        strURL = @"https://" + HttpContext.Current.Request.Url.Authority + "/checkout/payment.aspx"; 
        break; 
      } 
      Response.Redirect(strURL, false); 

그러나 IIS에서 제공 한 페이지는 안전하지 않습니다. 나는 방화범이 끌려 오는 장치를보고 클라이언트가 https://server/checkout/payment.aspx에 얻는 것을 요구하고 그러나 IIS는 302에 응답한다 것 http://server/checkout/payment.aspx 일으키는 원인이 될 수 있던 무슨을에 관해서는 어떤 실마리든지. 나도 페이지에 대한 SSL을 강요했지만, 그것은 403.4 오류가 작동하지 않습니다. (이 리소스를 보려면 SSL이 필요합니다.) 그리고 Request.IsSecureConnection을 사용하여 연결이 안전하지 않을 때 리디렉션 로직을 제거하고 결제 페이지를 SSL 버전으로 리디렉션하면 끝나는 리디렉션 루프가 생깁니다. IIS가 여전히 보안 버전을 제공하지 않기 때문에 302. 아이디어가 있습니까?

답변

0

SSL이 특정 웹 사이트에 적용된 상태에서 적절한 IIS 구성이없는 것처럼 들립니다.

https 링크를 통해 정적 리소스, 이미지 또는 html 파일을 방문하여 테스트 할 수 있습니다. 리다이렉트하는 경우 IIS 설정을 살펴볼 것입니다.

+0

정적 리소스가있는 302를 수행하지 않고 일반 HTTP 200으로 파일을 제공합니다. –

관련 문제