代码之家  ›  专栏  ›  技术社区  ›  Kyle Hayes

带RESTful服务的F5 iRule

  •  0
  • Kyle Hayes  · 技术社区  · 17 年前

    我正在尝试在我们的F5上制定一个规则,以适当地将流量引导到我们的Tomcat服务器。我们正在为每个RESTful服务部署单独的WAR文件。因此,我们希望以下列URI为例:

    /服务/测验/01234/ /服务/用户/54321/

    其中“quick”和“user”分别是quick.war和user.war。我们希望在f5级别将流量定向为/services/,使其成为根,而其余的URI将定向到Tomcat服务器。

    我们如何做到这一点?


    编辑

    资源的浏览器URL如下所示 http://www.domain.com/services/quiz/01234/

    我希望Big-IP将请求作为 http://tomcatserver:8080/quiz/01234/

    所以基本上删除/服务,并在它之后将所有内容附加到tomcat域。我觉得这是一个简单的正则表达式,对吧?

    1 回复  |  直到 16 年前
        1
  •  1
  •   erickson    17 年前

    我的轮胎有点生锈,但我认为沿着这些线条的东西会起作用:

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

    请注意,“/services”请求(不带斜杠)将按原样传递,而“services/”请求(带斜杠但不带应用程序)将转到根应用程序。我不知道如何处理这些退化的情况;你可能想改变这种行为。

    顺便说一句, DevCentral 有一个伟大的社区,致力于帮助像这样的Irules的人。