F5 Big-IP iRule - HTTP 重定向

F5 Big-IP iRule - HTTP 重定向

我刚刚开始使用 F5 的 Big-IP,我对 iRules 和 HTTP 重定向有疑问。我们正在将 SSL 从我们的 Web 服务器转移到 F5 上,我们的应用程序目前强制我们网站上的许多页面仅在 HTTPS 中运行。我想将其从 APP 转移到 F5 上,但我无法弄清楚如何做,因此作为示例,我希望强制任何尝试登录的人使用 HTTPS,例如 http://"mysite"/login.aspx = https://"mysite"/login.aspx。

我在谷歌上搜索了一些信息,但还是没有找到我想要的,如果有人做过这件事并愿意和我分享那就太好了

答案1

您可以使用多种方式使用 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 否则你会创建一个无限的重定向循环;-)) 你应该可以开始了。

答案2

我已经知道如何做我想做的事

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

不过还是感谢您的帮助,它引导我走向正确的方向。

相关内容