Переадресация URL-адреса с Tomcat на Jetty в конфигурации обратного прокси-сервера Apache - PullRequest
0 голосов
/ 12 мая 2019

У меня есть конфигурация обратного прокси-сервера Apache 2.4 со следующим кодом в файле HTTPD.CONF со всеми загруженными соответствующими модулями:

<VirtualHost *:80>

  <Proxy balancer://testcluster>
    BalancerMember http://localhost:8080 route=tomcat1
    BalancerMember http://localhost:8081 route=tomcat2
    BalancerMember http://localhost:10124 route=jetty1
    BalancerMember http://localhost:10224 route=jetty2
    ProxySet lbmethod=bytraffic
    ProxySet stickysession=JSESSIONID
  </Proxy>

  ProxyPass / balancer://testcluster/
  ProxyPassReverse / balancer://testcluster/

</VirtualHost>

localhost:8080 и 8081 - серверы Tomcat8, а localhost:10124 и10224 - серверы Jetty (Embedded-Jetty).Кроме того, я назвал localhost / 127.0.0.1 как mydomain.com в файле Windows HOSTS.Следовательно, когда я набираю localhost или mydomain.com в разных браузерах, я получаю разные экземпляры сервера Tomcat и Jetty, как и ожидалось.

localhost:8081 имеет несколько папок приложений, таких как /mee/portal/ и /mee/pws/ в webapps, и оба portal и pws содержат страницы JSP.localhost:10224 также содержит некоторые сервлеты Java в таких папках, как /mee/abc_lmn/ и /mee/abc_xyz/.
portal имеет страницу индекса, к которой я могу легко получить доступ, набрав:

mydomain.com/mee/portal/index.jsp

, и эта страница содержит ссылку на одну из страниц серверов Jetty с портом 10224:

mydomain.com/mee/abc_xyz/change.jsp

Но когда я нажимаю на ссылку,запрос никогда не пересылается на Jetty через порт 10224, и вместо этого Tomcat говорит, что страница не существует.Я знаю, что моя конфигурация Apache недостаточно умна, чтобы сказать Tomcat, чтобы она отправляла такие запросы в Jetty, и я не хочу переименовывать ссылку в что-то вроде localhost:10224/mee/abc_xyz/change.jsp (при условии, что это решает проблему).
Какперенастроить код так, чтобы эти запросы пересылались на Jetty?(Хотя и не конфликтуя с двумя другими серверами Tomcat и Jetty через порты 8080 и 10124 соответственно.)
Кроме того, лучше сказать, как Apache передать запросы, поступающие на mydomain/mee/abc_(*), впереслать напрямую на сервер Jetty на 10224?[(*) в ссылке lmn или xyz, как упоминалось ранее].

Заранее спасибо!
Использование Windows Server 2016

...