У меня есть эта проблема, я уверен, что большинство людей должны были это увидеть. Я использую apache2 mod_proxy_html для пересылки веб-запроса на tomcat. Запрос был отправлен на tomcat, но сервер tomcat не может найти ресурсы веб-сайта (изображения, стиль, шрифт и т. Д.). Проблема в том, что при использовании ввода subdomain.example.com Tomcat считает, что путь к ресурсам должен находиться по адресу: http://subdomain.example.com/xyz/images/images1.jpg.
Это вызвало проблему, потому что на самом деле HTTP-запрос стал: http://www.example.com:8080/xyz/xyz/images/images1.jpg, имя контекста "xyz" появляется дважды. Следовательно, tomcat не может найти файл изображения. На самом деле файл находится по адресу www.example.com:8080/xyz/images/images1.jpg.
Я считаю, что это стандартная установка, но я не мог понять, как большинство людей решают эту проблему с путями?
Это моя установка: 1. В моем конфигурационном файле apache2 virtualHost у меня есть такая установка:
<VirtualHost *:80> ServerName subdomain.example.com ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined ProxyRequests Off ProxyPreserveHost On <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://www.example.com:8080/xyz/ ProxyPassReverse / http://www.example.com:8080/xyz/ </VirtualHost>
В Tomcat мой веб-сайт установлен в * / tomcat7 / webapps / xyz
Я использовал $ {pageContext.request.contextPath}, чтобы определить базовый путь для всех моих ресурсов на моей странице jsp.
Добавить
ProxyPass /xyz/ http://www.example.com:8080/xyz/
над первой строкой ProxyPass, и все будет в порядке.