nginx可以根据之前的代理调用决定是否代理到网址吗?

时间:2013-04-23 10:28:06

标签: java proxy nginx playframework

我有以下情况:

  1. 隐藏用于外部访问的后端系统
  2. 一个用Play Framework编写的瘦扩展,它使用传递给后端的数据进行一些外部工作。
  3. nginx实例拦截所有公共呼叫,并决定代理哪个系统
  4. 这个想法如下: 如果特定呼叫到来,我希望nginx将其代理到Play应用,并根据Play应用的结果,决定是将其代理到后端,还是将Play应用的结果返回给Web客户端。 Play应用程序的结果可能是一些JSON,或者直接使用响应代码,所以当它可以进一步增加时,它将返回200,如果不是500,等等。

    有可能吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可以使用NGIX作为您的播放应用程序的反向代理 你玩控制器会处理请求,然后你可以应用你的业务逻辑来知道是否将请求转发给你的后端应用程序。

Play的响应可以是标准的http响应或JSON(或许多其他格式)。

您可以通过发出Web服务请求(来自WS in Play)或MQ消息(RabbitMQ插件)或自定义协议来连接到您的后端应用程序。