使用SSL網站時,強制http導向到https

當我們的網站有憑證的功能時,一般來說我們都會希望使用者盡量使用SSL技術的https來進行運作,而避免回去用明碼傳輸的http協定,這時候我們需要一個強制的方式來運行。在過去,可能要動用到URL rewrite來進行這個工作,而在Windows Server 2008與IIS 7之後,這項工作變得很簡單了。

使用方式很簡單,只要在global.asax中加入下列的程式碼即可。但千萬要記住,你的IIS要記得繫結(Binding)80埠喔,不然IIS根本收不到你的Request啊!

protected void Application_BeginRequest()
{
  if (!Context.Request.IsSecureConnection)
  { Response.Redirect(Context.Request.Url.ToString().Replace("http://", "https://")); }
}

至於憑證與加入方式,在這邊我就不再多寫一篇了,可以參考保哥寫的這一篇文章,非常的好用喔!

購買與安裝SSL憑證完全攻略(以IIS7為例)

WindowsServer IIS SSL HTTP HTTPS Force