【问题标题】:F5 irule with RESTful servicesF5 irule 与 RESTful 服务
【发布时间】:2009-04-07 18:00:49
【问题描述】:

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

/services/quiz/01234/ /services/user/54321/

其中 'quiz' 和 'user' 分别是 quiz.war 和 user.war。我们希望将 F5 级别的流量定向到 /services/ 作为根,并将 URI 的其余部分定向到 Tomcat 服务器。

我们如何做到这一点?


编辑

资源的浏览器 url 看起来像 http://www.domain.com/services/quiz/01234/

我希望 BIG-IP 以 http://tomcatserver:8080/quiz/01234/ 的身份将请求发送到 tomcat

所以基本上删除 /services 并将其后的所有内容附加到 tomcat 域。我认为这将是一个简单的正则表达式,对吧?

【问题讨论】:

  • 你能澄清一下吗?浏览器应该使用什么 URL? BIG-IP 应该向 Tomcat 发送什么 URL?提供一些您希望在平衡器上发生的映射示例。为了清楚起见,请使用完整的 URL。
  • 希望更多细节有所帮助

标签: java tomcat rest


【解决方案1】:

我对 iRules 有点生疏了,但我认为这些方面的东西会起作用:

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

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

顺便说一句,DevCentral 有一个很棒的社区,致力于帮助使用此类 iRules 的人们。

【讨论】:

  • 这是一个很好的开始。感谢您的帮助,我也会研究 DevCentral。
猜你喜欢
  • 2019-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-08
  • 2015-02-25
  • 2016-10-18
  • 2017-01-27
  • 1970-01-01
相关资源
最近更新 更多