优点&将所有http重定向到https的缺点

时间:2015-08-18 23:30:59

标签: azure redirect https

关于将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>

欢迎所有建议。

此致

1 个答案:

答案 0 :(得分:1)

出于安全原因,您应该将所有http请求重定向到https。你也应该学习和使用HSTS。

这样做没有任何缺点,它比保持混合的http / https条目点更安全,更不容易出错。

对于重定向方法,只要它是301(永久)重定向,使用最简单的维护/实现。