Windows-Server-2016(AWS)中的IIS10无法将HTTP请求重定向到HTTPS

时间:2019-05-27 00:48:49

标签: amazon-ec2 url-rewriting url-redirection windows-server-2016 iis-10

windows-server-2016中的IIS-10无法将HTTP请求重定向到HTTPS。

我尝试了互联网上几乎所有可用的配置,但仍然没有成功。

注意:我的服务器也将获得子目录网址,并提供以下示例:

  

http://abctest.com/subfolder_1

     

http://abctest.com/subfolder_2

     

http://abctest.com

     

可能有N个子文件夹。),但是IIS-10无法将Http请求重定向到Https。

请在IIS-10 GUI中找到以下配置以及web.config文件:

enter image description here enter image description here enter image description here

3 个答案:

答案 0 :(得分:0)

您可以使用以下URL重写规则将带有子文件夹的URL重定向到https:

<rule name="http to https" stopProcessing="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{HTTPS}" pattern="off" />
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" />
            </rule>

enter image description here

另外,将证书绑定到站点绑定中。如果您没有注册证书,则可以绑定自签名证书。

首先,您需要使用以下Powershell命令创建自签名证书:

New-SelfSignedCertificate -DnsName www.test.com -CertStoreLocation cert:Localmachine\My

并将该证书与IIS站点绑定:

enter image description here

enter image description here

关于, 贾帕(Jalpa)

答案 1 :(得分:0)

    <rewrite>
        <rules>
            <rule name="http -> https" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
                <match url="*" />
                <conditions trackAllCaptures="true">
                    <add input="{HTTPS}" pattern="off" />
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}/{R:0}" redirectType="Temporary" />
            </rule>
        </rules>
    </rewrite>

这是我在生产环境中使用的工作版本。适用于与站点以及子文件夹绑定的任何绑定。如果您不喜欢xml,那么这里是其外观的屏幕截图。然后,让我困扰了一两次的唯一另一件事是,确保您同时拥有要重定向的网址的http和https绑定。

url rewrite 1

url rewrite 2

答案 2 :(得分:0)

我通过按规则排列规则解决了这个问题。 (始终按顺序定义入站规则。)

感谢所有支持此查询的人。