我有一个纯 Java 应用程序,它无需任何应用程序服务器即可发布 Web 服务。如何配置 Apache Http 负载平衡器以将请求转发到安装此应用程序的服务器。
当我在 Glassfish 等应用服务器上部署 Web 服务时,我可以处理它。但我不知道如何使用纯 Java 应用程序来做到这一点。
我有一个纯 Java 应用程序,它无需任何应用程序服务器即可发布 Web 服务。如何配置 Apache Http 负载平衡器以将请求转发到安装此应用程序的服务器。
当我在 Glassfish 等应用服务器上部署 Web 服务时,我可以处理它。但我不知道如何使用纯 Java 应用程序来做到这一点。
您应该能够在平衡器配置中使用 http:// 而不是 ajp:// ,例如:
<Proxy balancer://myApp>
BalancerMember http://47.168.96.31:2020 route=r1
BalancerMember http://192.168.0.2:2020 route=r2
</Proxy>
或直接使用代理转发,例如:
ProxyPass / balancer://myApp
ProxyPassReverse / balancer://myApp
假设 apache 在 47.168.96.31 上,那么您将访问该服务http://47.168.96.31/StockQuote/StockQuoteService
如果您希望服务在 响应http://47.168.96.31/
,您可以执行以下操作:
ProxyPass / balancer://myApp/StockQuote/StockQuoteService
ProxyPassReverse / balancer://myApp/StockQuote/StockQuoteService
这是我到目前为止所做的,这使它成为现实。服务可访问:
http://47.168.96.31/StockQuote/StockQuoteService
安装:
./configure --prefix=/usr/local/apacheHttpServer3 --enable-modules=proxy
配置:
<Proxy balancer://kekagent>
BalancerMember http://47.168.96.31:2020 loadfactor=10
BalancerMember http://192.168.0.2:2020 loadfactor=10 timeout=2
</Proxy>
ProxyPass /StockQuote/StockQuoteService balancer://kekagent/StockQuote/StockQuoteService