通过IIS将http重定向到https

时间:2018-06-27 13:17:04

标签: iis https url-rewriting http-redirect

我有为此应用程序安装的SSL证书。是的,我尝试将用户重定向为仅使用HTTPS://url.com。并阻止他们使用http://url.com site。但是,由于我不了解用于定义模式和条件的正则表达式,并且不幸的是,我找不到有关如何定义这些规则的示例的指南。我知道有些人会否决这个问题,这是可以的,但是我认为这会帮助很多其他可以找到相同通用教程的人,而没有给出如何设置https://{HTTP_HOST}{REQUEST_URI}的具体示例。

2 个答案:

答案 0 :(得分:2)

确保已添加URL重写功能。在IIS管理器中,在“ URL重写”部分中配置以下内容。

  1. 创建入站规则(空白规则)
  2. 请求的URL:Matches the pattern
  3. 使用:Wildcards
  4. 模式:*

条件

  • 输入:{HTTPS}
  • 类型:Matches the pattern
  • 模式:off

操作

  • 操作类型:Redirect
  • 重定向网址:https://{HTTP_HOST}{REQUEST_URI}
  • 附加查询字符串Checked
  • 重定向类型:Found (302)

完成此操作后。创建条件...

  1. 右键单击您的新规则
  2. 条件->添加+
  3. 条件输入:{QUERY_STRING}
  4. Matches the Pattern
  5. 模式:off

本质上它应该看起来像这样:

Redirect Rule

所有使用http请求的流量都将自动重定向到https端口。

答案 1 :(得分:0)

我从Global.asax获得的方法

    protected void Application_BeginRequest()
        {
#if !DEBUG
            if (!Context.Request.IsSecureConnection)
            {
                if (Context.Request.Url.ToString().Contains(".well-known")) return;

                Response.StatusCode = 301;

                Response.RedirectPermanent(Context.Request.Url.ToString().Replace("http:", "https:"));
            }
#endif
        }
相关问题