Apache反向代理-基于HTTP正文的ProxyPass

时间:2019-03-13 21:03:51

标签: apache soap reverse-proxy

我有向我的Apache反向代理发出SOAP请求的系统,并且我有两个不同的应用程序应处理这些请求。但是,区分是在请求的SOAP主体上完成的:

  • 只要传入请求的主体中包含特定的XML标记,就将其发送到server_a:port / endpoint
  • 只要传入请求的主体中不包含该特定XML标记,就将其发送到server_b:port / endpoint

请注意,传入的请求URL相同。唯一的区别是传入请求的实际SOAP正文。

我已经找到了通过检查传入请求URL POST参数(Conditional ProxyPass Apache)来实现此目的的方法,但是找不到我真正需要的东西。

您将如何去做? Apache实际上能够做到这一点吗?

1 个答案:

答案 0 :(得分:0)

我不确定使用Apache是​​否有可能。但是您可以使用带有Lua模块的Nginx来实现。

https://github.com/openresty/lua-nginx-module

使用Lua模块,您可以以编程方式对Request,Response,Request Body进行任何操作。

对于反向代理,最好使用Nginx,因为它为反向代理,负载平衡提供了简单,更好的配置。