F5-Big-Ip

F5 Big-IP iRule - HTTP 重定向

  • June 1, 2012

我剛剛開始使用 F5 的 Big-IP,我有一個關於 iRules 和 HTTP 重定向的問題。我們正在將我們的 SSL 從我們的 Web 伺服器解除安裝到 F5 上,我們的應用程序目前強制我們網站上的許多頁面僅在 HTTPS 中執行。我想將它從 APP 移到 F5 上,但我無法弄清楚我們的方法,所以作為一個例子,我希望任何嘗試登錄的人都被迫使用 HTTPS,例如 http://“mysite”/ login.aspx = https://“我的網站”/login.aspx。

我已經進行了一些Google搜尋,這些搜尋提供了一些很好的資訊,但我還沒有找到我正在尋找的東西,如果有人這樣做並希望與我分享這將是很棒的

我已經想出瞭如何做我想做的事

_when HTTP_REQUEST {
   if { [string tolower [HTTP::uri]] starts_with "/login.aspx" } {
       HTTP::respond 302 Location "https://[getfield [HTTP::host] : "1"][HTTP::uri]"_
   }
}

不過,感謝您的幫助,它使我朝著正確的方向前進。

您可以通過多種方式使用 iRules 執行 HTTP 重定向。

DevCentral HTTP 到 HTTPS 重定向 Wiki 頁面有一個範例列表(如果您搜尋該站點,您會發現許多其他範例和關於如何使用 iRules 進行更複雜重定向的討論)。

在您的範例中,iRule 將只是:

1 when HTTP_REQUEST {
2 HTTP::respond 301 Location "https://[getfield [HTTP::host] : 1][HTTP::uri]"
3 }

將此應用於虛擬伺服器(HTTP VS,而不是HTTPS VS,否則您將創建無限重定向循環;-)),您應該一切順利。

引用自:https://serverfault.com/questions/394230