Переадресация запросов от Tomcat на другой сервер - PullRequest
0 голосов
/ 11 октября 2019

У меня есть tomcat, предоставляющее веб-приложение war. Страницы этого приложения напрямую доступны через tomcat, поэтому у нас нет httpd. Прямой доступ возможен с использованием URL: http://<host>:<port>/myapp/

Теперь я хочу включить другую службу, которая фактически доступна на другом хосте, из-за брандмауэра этот другой хост не доступен напрямую.

Можно ли настроить tomcat для переадресации вызовов на http://<host>:<port>/myapp/external-service на этот другой сервер (например, http://<other-host>:<port>/external-service).

На самом деле мне нужно почти такое же поведение, какое обеспечит mod_proxy из httpdсо следующей конфигурацией, но без использования httpd

ProxyPass         /myapp/external-service  http://<other-host>:<port>/external-service
ProxyPassReverse  /myapp/external-service  http://<other-host>:<port>/external-service

Могу ли я добиться того же поведения, либо с конфигурацией tomcat, либо с конфигурацией сервлета? Даже если вы не знаете ответ, возможно, вы сможете дать подсказку, какие настройки искать. В настоящее время я даже не знаю, что искать.

1 Ответ

0 голосов
/ 11 октября 2019

Нет. Tomcat не предоставляет функции обратного прокси. Возможно, вы сможете найти библиотеку, которая предоставляет ее, но я не знаю ни о какой. Вы сами его кодируете, но обратные прокси-серверы писать нетривиально. Я бы порекомендовал пересмотреть решение не использовать httpd - это, вероятно, самый простой подход.

...