我正在尝试在我们的F5上制定规则,以便将流量适当地引导到我们的Tomcat服务器。我们正在为每个RESTful服务部署单独的WAR文件。因此,我们希望将以下URI作为示例:
/服务/测验/ 01234 / /服务/用户/ 54321 /
'quiz'和'user'分别是quiz.war和user.war。我们希望将/ services /的F5级别的流量定向为根,将URI的其余部分定向到Tomcat服务器。
我们如何做到这一点?
资源的浏览器网址看起来像http://www.domain.com/services/quiz/01234/
我希望BIG-IP将请求发送到tomcat http://tomcatserver:8080/quiz/01234/
所以基本上删除/ services并将其后的所有内容附加到tomcat域。我认为这将是一个简单的正则表达式,对吧?
答案 0 :(得分:1)
我的iRules上有点生疏,但我认为沿着这些方向会有所作为:
when HTTP_REQUEST {
set path [HTTP::path]
regsub "^/services/" $path "/" path
HTTP::path $path
}
请注意,对“/ services”(没有尾部斜杠)的请求将按原样传递,而对“/ services /”(带斜杠但没有应用程序)的请求将转到根应用程序。我不知道如何处理这些堕落的案件;你可能想改变这种行为。
顺便说一下,DevCentral有一个很棒的社区,致力于帮助那些喜欢这些iRule的人。