在http://到https:// redirect期间重定向循环

我试图强制页面在SSL下运行,所以我在page_load上实现了以下内容:

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

出于某种原因,这最终会在一个循环中结束。 今天早些时候,我检查了Request.Uri.Scheme,它正在解析为“http”,虽然我显然已经连接到https://www.domain.com/pagename.aspx 。

您是否有任何理由可以想到为什么此页面无法正确检测到我们是否在https下运行?

我会在网络服务器端处理这个问题。 如果您正在运行IIS,它并不是那么简单,但您可以启用强制SSL选项并为您的403; 4(我认为这是SSL所需错误)重定向到https实现自定义错误页面。