The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

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

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

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

<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 一樣也使用這段設定喔!

相關連結