IIS HTTP 強制轉HTTPS 簡易做法 - 黑暗執行緒

文章推薦指數: 80 %
投票人數:10人

基於導向入口網頁不需完整對應的單純需求,我找到一個不用安裝URL Rewrite 的簡便做法。

首先在IIS 管理員確認勾選「SSL設定/ 需要SSL」,如此連上HTTP 將 ... 再遇到老題目:在IIS上如何將HTTP請求強制導向HTTPS?之前試過顯示說明網頁,倒數後透過JavaScriptlocation.href轉向HTTPS的做法-設計賓至如歸的HTTPS強制導向網頁。

但這有個缺點,如果不需要顯示導向提示,則先HTTP200送回正常網頁再由瀏覽器另外發出請求連上HTTPS多耗費一次往返,不如直接回傳HTTP301/302導向有效率,而連上HTTP時回應HTTP200還可能會被搜尋引擎誤判為有效網址。

網路建議的解法多是使用URLRewrite模組解決,例如保哥強迫網站轉向到HTTPS加密安全連線(IISURLRewrite)一文提到的做法。

之前的情境都是原本HTTP舊站啟用HTTPS後希望大家改連加密版,這回的狀況是網站一上線就只有HTTPS,只需將誤連HTTP的使用者導向HTTPS,不需將HTTP完整路徑對應成HTTPS版本。

基於導向入口網頁不需完整對應的單純需求,我找到一個不用安裝URLRewrite的簡便做法。

首先在IIS管理員確認勾選「SSL設定/需要SSL」,如此連上HTTP將得到HTTP403.4錯誤。

接著在「錯誤網頁」指定403.4錯誤訊息網頁:指定自訂錯誤網頁時使用「回應302重新導向」並輸入https:版首頁。

以上設定也可透過web.config加入:這方法還有一個小瑕疵,它傳回的是302(暫時搬移)不是301(永久遷移),可能影響搜尋引擎判斷。

餏據爬文結果:1)若原本HTTP網址沒有內容,不致有被Cache住遲遲沒更新的疑慮2)由於業界太多人把302當301用,Google已經聰明到將302視為301。

參考:302Redirectvs.301Redirect-WhichisBetter--HochmanConsultantsShareonFacebookShareonTwitterShareonGoogle+EmailComments#2019-08-2112:03PMby接手老專案的菜鳥黑大:我有裝UrlRewrite模組,真實程式路徑是https://www.aaa.com/OLD/123.php?id=參數值 我想讓前臺統一變成www.AAA.com/NEW/參數值,請問該怎麼改,才可以正常呈現? #2019-08-2110:26PMbyJeffreyto接手老專案的菜鳥,action中的{R:1}要對應match中的正則表達式的第一個群組,若我沒理解錯,應該寫成這樣好 參考:https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/url-rewrite-module-configuration-referencePostacommentCommentNameCaptcha70-21=黑暗執行緒黑暗後花園OrcsWeb:WindowsServerHosting2019-08-21JeffreyIISHTTP強制轉HTTPS簡易做法to接手老專案的菜鳥,action中的{R:1}要對應match中的正則表達式的第一個群組,若我沒...2019-08-21接手老專案的菜鳥IISHTTP強制轉HTTPS簡易做法黑大:我有裝UrlRewrite模組,真實程式路徑是https://www.aaa.com/OLD...



請為這篇文章評分?