如何設定IIS自動由http(TCP80)轉址至https(TCP443)

Jason日前曾因為客戶要求,只有一個網址,不會再開其它站台,必須在單一個網址列中自動的轉進https…

Jason日前曾因為客戶要求,只有一個網址,不會再開其它站台,必須在單一個網址列中自動的轉進https
以保護使用者資料傳遞,但不需進到https的頁面則必須自動再轉回來
針對這種單獨幾頁的網頁必須轉進https中,Jason搜遍網海甚至求拜過「谷歌帝君」

找到的都只有Apache設定,也因此讓程式部門的同仁針對相對路徑及絕對路徑修改MaterPage,但都必須從程式端來修改。

有什麼方法可以由設定IIS,或者是透過更快速的方法,可以免除掉修改程式的麻煩事呢?
Jason曾幹過很蠢的事,就是針對每一頁必須自動轉進https的頁面

在站台中另外寫轉址的頁面,並且將該頁設定進IIS中
也就是土法煉鋼的方法,有一頁設定一頁,有兩頁設定兩頁,有n頁呢???
設到腦漿噴出來為止,而且,每一頁都必須透過自定Error Page設定指定的檔案來轉址,太累了!!!

突然有一天…Jason做夢,夢到一個化整為零的方法
即然可針對每個個別的頁面來設定,為什麼不試試直接換掉協定就好呢?

即然可以針對別個網頁,就可以針對加上https通道並且必須以128bit加密的內容
自動由403.4的error page中轉進https協定中即可。

1.首先於"C:\WINDOWS\Help\iisHelp\common\"中編輯403-4.htm頁面
2.在<head>內 插入下列的scirpt

3.將檔案存檔後,以http進入至指定的頁面,即可直接轉置進到https。

 

<head>
<script type="text/javascript">  
var url=window.location.href;  
url=url.replace("http:","https:")  
window.location.replace(url)  
</script>
</head>

 

以上希望對大眾使用IIS的網友們有幫助。


Anything keeps Availability.
Anywhere keeps Integrity.
Anytime keeps Confidentiality.
keep A.I.C. = Information Security