Asp.net

ASP.NET:重定向到 https 的最佳實踐

  • January 3, 2010

我正在開發一個項目,該項目有一頁需要使用 SSL 證書。站點中指向此頁面的所有連結都使用 https 而不是 http,但如果使用者可以直接導航到該頁面,我希望頁面的 http 版本重定向到自身,但使用 https。

我可以在 page_load 事件中執行 Response.Redirect。我可以編寫 javascript 來更新導致回發的 location.href。我敢肯定有更多的方法可以給這隻貓剝皮。

我的問題是,IIS 6 或 7 上的 ASP.NET 站點將 http 頁面重定向到 https 的最佳做法是什麼?是否有最佳實踐或所有替代方案都相同?

我會使用 URL 重寫來做到這一點。為什麼?因為它實現簡單,不需要對應用程序進行修改,並且易於維護。

在 IIS7 上,您可以使用URL 重寫模組來完成此操作,例如:

<!-- http:// to https:// rule -->
<rule name="ForceHttpsBilling" stopProcessing="true">
 <match url="(.*)billing/(.*)" ignoreCase="true" />
 <conditions>
   <add input="{HTTPS}" pattern="off" ignoreCase="false" />
 </conditions>
 <action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}{REQUEST_URI}" />
</rule>

在 IIS6 上,您必須使用 3rd 方庫。我使用 IIRF ( http://www.codeplex.com/IIRF ),它是免費的、穩定的,並且有很多功能。

引用自:https://stackoverflow.com/questions/1917594