【问题标题】:IIS 7.5 HTTP to HTTPS redirectIIS 7.5 HTTP 到 HTTPS 重定向
【发布时间】:2013-05-02 02:00:24
【问题描述】:

我正在尝试将所有 HTTP 请求重定向到 HTTPS。 这是我的 web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers accessPolicy="Read, Execute, Script" />
    </system.webServer>


    <system.webServer>
       <rewrite>
            <rules>
                <clear />
                <rule name="Redirect to https" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions>
                        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
                    </conditions>
                    <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>

</configuration>

我在 Stackoverflow 上的另一篇文章中找到了这个示例: How to force HTTPS using a web.config file

当我保存该文件并尝试使用 http 访问我的网站时,它不会重定向到 https。

我认为该文件可能被忽略了,所以我在 web.config 中输入了一些不正确的语法,然后我收到了 500 错误——这意味着它确实在查看 web.config 文件。

我是否误解了上述配置应该做什么?我想将所有 HTTP 请求重定向到 HTTPS。

被重定向到的站点是 Tomcat 的虚拟目录(如果有影响的话)。

【问题讨论】:

    标签: web-config iis-7.5 http-redirect


    【解决方案1】:

    试试这个:

    <rule name="Redirect to HTTPS" stopProcessing="true">
    <match url="(.*)" />
      <conditions>
        <add input="{HTTPS}" pattern="^OFF$" />
      </conditions>
    <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" />
    </rule>
    

    【讨论】:

      【解决方案2】:

      假设您已安装 URL 重写。 Click here for info/installation.

      确保您在 IIS 管理器的 URL 重定向中配置了以下内容。

      匹配网址部分

      请求的 URL:匹配模式
      使用:正则表达式
      模式:(.*)

      确保选中忽略大小写

      条件部分

      逻辑分组:匹配所有
      输入:{HTTPS}
      类型:匹配模式
      模式:^OFF$

      动作部分

      动作类型:重定向

      动作属性

      重定向网址:https://{HTTP_HOST}/{R:1}
      确保选中“附加查询字符串”

      重定向类型:查看其他 (303)

      【讨论】:

      • 据我所知,我正在为其执行此操作的软件不能进行 URL 重写。 Apache-Tomcat 不提供用于安装 URL 重写的 ActiveX 文件。
      • 如果涉及第三方软件,必须在此线程的第一篇文章中提及,以及任何其他重要信息。上面的说明会将 HTTP 重定向到 HTTPS。
      猜你喜欢
      • 2011-09-16
      • 2011-08-22
      • 2019-09-03
      • 1970-01-01
      • 2018-01-18
      • 2017-10-12
      • 2019-08-17
      • 2018-12-06
      • 2013-03-23
      相关资源
      最近更新 更多