关于将http重定向到https
的两个部分的问题我们刚刚使用SSL实现了Azure网站。有些页面使用以下内容从Page_Load中的http重定向到https:
if (!Request.IsLocal && !Request.IsSecureConnection) {
string redirectUrl = Request.Url.ToString().Replace("http:", "https:");
Response.Redirect(redirectUrl, false);
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
第一部分 - 将所有页面重定向到https是否有任何缺点?
第二部分 - 如果没有,那么上面的代码是最好的方法,或者我们应该像这样使用URL重写:
<rule name="Redirect to HTTPS">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
<action type="Redirect" url="https://{SERVER_NAME}/{R:1}" redirectType="SeeOther" />
</rule>
欢迎所有建议。
此致
答案 0 :(得分:1)
出于安全原因,您应该将所有http请求重定向到https。你也应该学习和使用HSTS。
这样做没有任何缺点,它比保持混合的http / https条目点更安全,更不容易出错。
对于重定向方法,只要它是301(永久)重定向,使用最简单的维护/实现。