我在服务器的根目录下安装了 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发出了 get 请求,但 IIS 以 302 响应http://server/checkout/payment.aspx 任何线索,至于可能是什么原因造成的。我什至尝试为页面强制使用 SSL,但它不起作用我收到 403.4 错误。(需要 SSL 才能查看此资源。)如果我删除重定向逻辑并将支付页面编码为在使用 Request.IsSecureConnection 连接不安全时重定向到其 SSL 版本,我最终会出现无休止的重定向循环,仅仅是因为如果没有 302,IIS 仍然无法提供安全版本。有什么想法吗?