現在大多數的網站都需要使用 https URL,為了讓用戶仍可使用舊的 http 位置,這時可以採用轉址策略,讓用戶無痛使用,通過 IIS URL Rewrite 即可完成轉址情境。
安裝 URL Rewrite
https://www.iis.net/downloads/microsoft/url-rewrite
安裝完成之後,可以在站台上面看到它
設定轉址規則
接下來就要設定轉址規則,你可以使用 UI 或是直接修改 web.config 裡面的 system.webServer/rewrite 節點,UI 操作最後也是會存放在 web.config
新增新一個,規則,當 URL 為 https 不套用轉址
<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>
套用成功後,只要網址輸入 http 都會被導向 https,因為沒有 localhost 的憑證,所以我要排除 localhost,加入以下規則
<add input="{HTTP_HOST}" pattern="^localhost(:\d+)?$" negate="true"/>
若有 localhost 憑證則不需要排除
這樣一來,在伺服器本機也能訪問 http://localhost:8080 了
localhost 擁有較高的權限,需要這個位置才能訪問
若有謬誤,煩請告知,新手發帖請多包涵
Microsoft MVP Award 2010~2017 C# 第四季
Microsoft MVP Award 2018~2022 .NET