서버의 루트에 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. 아이디어가 있습니까?
정적 리소스가있는 302를 수행하지 않고 일반 HTTP 200으로 파일을 제공합니다. –