如何使用IIS重写模块将HTTP重定向到HTTPS

目录

重定向到HTTPS

安装IIS URL重写功能

Web平台安装程序

Chocolatey

Powershell

制定规则

摘要


本文着眼于IIS重写模块,并展示了如何设置规则来处理如何处理对特定URL的请求。它查看一个Powershell脚本,该脚本调用Web平台安装程序以安装URL Rewrite 2.0功能以及如何加载web.config

IIS重写模块是IIS中非常强大的功能。它使您能够设置规则来处理如何处理对特定URL的请求。

您可以:

  • 执行重定向
  • 发送自定义回复
  • 根据重写模块中的规则停止HTTP请求。

重定向到HTTPS

IIS中有多种方法可以将URL重定向到HTTPSHTTP重定向功能很有用,但它仅重定向到特定的URL。如果要重定向到HTTPS并保留页面和查询字符串请求的完整URL,我更喜欢使用URL重写模块。

安装IIS URL重写功能

URL重写模块可与IIS 7及更高版本一起使用,当前版本为2.0

您可以使用以下方法安装URL Rewrite 2.0模块:

Web平台安装程序

Web平台安装程序。或直接从其页面上http://www.iis.net/downloads/microsoft/url-rewrite下载。

Chocolatey

https://chocolatey.org/packages/UrlRewrite这确实需要IIS(显然希望如此)

choco install urlrewrite

Powershell

Powershell脚本执行以下操作:在c:上创建一个msi目录:。下载Web平台安装程序。安装Web平台安装程序。调用Web平台安装程序以安装URL Rewrite 2.0功能

reate-Item c:/msi -Type Directory
Invoke-WebRequest 'http://download.microsoft.com/download/C/F/F/CFF3A0B8-99D4-41A2-AE1A-496C08BEB904/WebPlatformInstaller_amd64_en-US.msi' -OutFile c:/msi/WebPlatformInstaller_amd64_en-US.msi
Start-Process 'c:/msi/WebPlatformInstaller_amd64_en-US.msi' '/qn' -PassThru | Wait-Process
cd 'C:/Program Files/Microsoft/Web Platform Installer'; .\WebpiCmd.exe /Install /Products:'UrlRewrite2' /AcceptEULA /Log:c:/msi/WebpiCmd.log

制定规则

直接在web.config中设置规则。我认为它比GUI显示的内容更能使您理解规则。

因此,加载您的web.config并添加以下新部分:

<rewrite>
    <rules>
        <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="Permanent"/>
        </rule>
    </rules>
</rewrite>

现在,如果您返回IIS中的URL Rewrite模块,您将看到它如何设置规则。

摘要

URL重写模块是一项强大的功能,它使您可以完全控制发生的事情。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章