﻿# 強迫網站轉向到 HTTPS 加密安全連線 ( IIS URL Rewrite )

我們由於越來越多網站系統都開始搬上 Microsoft Azure 雲端平台，由於走的是網際網路，數據傳輸的安全性格外重要，還好 Microsoft Azure 網站免費提供一個萬用的 SSL 憑證 ( \*.azurewebsites.net ) ，所以我們可以不費吹灰之力的提供一個擁有 HTTPS 的網站。較為早期的時候，我們大多會在程式裡判斷使用者打開網頁的要求是否是 HTTP，如果是 HTTP 要求就自動轉向到 HTTPS 安全網頁。現在，只要調整 web.config 就可以輕易完成需求，非常簡單。

直接開啟網站應用程式根目錄下的 **web.config** 設定檔，並且找到 **<system.webServer\>** 區段，加入以下設定即可完成所有設定：

```xml
<system.webServer>

  <rewrite>
    <rules>
      <rule name="HTTP to HTTPS redirect" stopProcessing="true">
        <match url="(.*)" />
        <conditions>
          <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        </conditions>
        <action type="Redirect" redirectType="Found" 
                url="https://{HTTP_HOST}/{R:1}" />
      </rule>
    </rules>
  </rewrite>

</system.webServer>
```

其實不僅僅是 Microsoft Azure 網站，你自己安裝架設的 IIS 伺服器，只要安裝了 [URL Rewrite](http://www.iis.net/downloads/microsoft/url-rewrite) 一樣也使用這段設定喔！

**相關連結**

-   [URL Rewrite : The Official Microsoft IIS Site](http://www.iis.net/downloads/microsoft/url-rewrite)
-   [Chapter 5. URL Rewrite Module: The Official Microsoft IIS Site](http://www.iis.net/learn/extensions/url-rewrite-module)
-   [10 URL Rewriting Tips and Tricks | RuslanY Blog](http://ruslany.net/2009/04/10-url-rewriting-tips-and-tricks/)
-   [URL Rewrite: 產生具親和力的網址  | 台灣微軟 IIS 官方網站](http://www.microsoft.com/taiwan/technet/iis/expand/URLRewrite.aspx)
