带有RESTful服务的F5 irule

时间:2009-04-07 18:00:50

标签: java tomcat rest

我正在尝试在我们的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域。我认为这将是一个简单的正则表达式,对吧?

1 个答案:

答案 0 :(得分:1)

我的iRules上有点生疏,但我认为沿着这些方向会有所作为:

when HTTP_REQUEST {
  set path [HTTP::path]
  regsub "^/services/" $path "/" path
  HTTP::path $path
}

请注意,对“/ services”(没有尾部斜杠)的请求将按原样传递,而对“/ services /”(带斜杠但没有应用程序)的请求将转到根应用程序。我不知道如何处理这些堕落的案件;你可能想改变这种行为。

顺便说一下,DevCentral有一个很棒的社区,致力于帮助那些喜欢这些iRule的人。