如何使用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重寫模塊是一項強大的功能,它使您可以完全控制發生的事情。

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