У меня есть несколько приложений, развернутых в папке веб-приложений Tomcat (app1.0, app1.1, app1.2 и т. Д.). Когда я нажимаю www.example.com:8080/app1.0, появляется соответствующее приложение.
Но как это сделать на сервере балансировки нагрузки? Например, у меня есть веб-сайт, на котором я могу нажать кнопку (app1.0, app1.1, app1.2 и т. Д.), И всплывает URL-адрес, например: www.lb.com/app1.0/.../ ... Как перейти к приложению на основе версии приложения в URL? Использовать RewriteCond и regex и передавать его в ProxyPass? Я не знаю, как это написать, кто-нибудь может помочь? :)
Изменить: Это то, что я сделал для 2 приложений для 1 Tomcat и 2 приложений для 2 Tomcat, но иногда я получал 404, потому что балансировщик нагрузки выбрал Tomcat с другой версией.
<VirtualHost *:80>
#Add a http header to explicitly identify the node and be sticky
Header add Set-Cookie "ROUTEID=.%{BALANCER_WORKER_ROUTE}e; path=/" env=BALANCER_ROUTE_CHANGED
#Declare the http server pool
<Proxy "balancer://plf">
BalancerMember "http://worker1.com:8080" route=worker1
BalancerMember "http://worker2.com:8080" route=worker2
ProxySet stickysession=ROUTEID
ProxySet lbmethod=bybusyness
</Proxy>
#Common options
ProxyRequests Off
ProxyPreserveHost On
#Declare the redirection for the http requests
ProxyPassMatch "/app(.*)" "balancer://plf/app$1"
ProxyPassReverse "/app(.*)" "balancer://plf/app$1"