Назад | Перейти на главную страницу

Пересылка Apache на tomcat показывает пустую страницу

У меня есть приложение, работающее на Tomcat по адресу http://www.example.com:9090/mycontext. Имя хоста в server.xml указывает на www.example.com. у меня нет localhost больше. Я использую apache для пересылки запросов на tomcat, используя mod_proxy. Все работает нормально, пока ProxyPath является /mycontext. Настройка имени сервера на виртуальном хосте: www.abc.com и http://www.abc.com/mycontext работает отлично. Однако я хотел бы проигнорировать контекстный путь и просто использовать http://www.abc.com/ направлять запросы в http://www.example.com:9090/mycontext. Когда я это делаю, apache показывает мне пустую страницу. Что мне здесь не хватает? Я ничего не менял в server.xml кроме хоста по умолчанию для www.example.com.

<VirtualHost *:80>
 ServerName www.abc.com

 ProxyRequests Off
 ProxyPreserveHost On

 <Proxy *>
 Order deny,allow
 Allow from all
 </Proxy>

 ProxyPass / http://www.example.com:9090/mycontext
 ProxyPassReverse / http://www.example.com:9090/mycontext
 </VirtualHost>

Спасибо

Соответствующие завершающие слэши важны в mod_proxy.

ProxyPass / http://www.example.com:9090/mycontext

Это потребует запроса к http://www.abc.com/something и прокси на http://www.example.com:9090/mycontextsomething - не очень полезно!

Вместо этого попробуйте эту конфигурацию:

ProxyPass / http://www.example.com:9090/mycontext/
ProxyPassReverse / http://www.example.com:9090/mycontext/

Также - если Tomcat ожидает www.example.com в качестве заголовка хоста, то вы, вероятно, не хотите, чтобы ProxyPreserveHost On директива.