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

Исключите корень из директивы ProxPass, но оставьте все, что ниже корня, включенным

Я запускаю Apache перед экземпляром Tomcat. Apache проксирует каждый поступающий запрос и передает его Tomcat. Текущая конфигурация такова, что Apache помещает ProxyPass в корне (/). Однако есть новые требования, которые определяют, что вызов корневого домена должен возвращать статическую заставку, а любой другой вызов должен быть проксирован.

Это означает:

www.domain.com -> static page
www.domain.com/username - proxy to Tomcat

Создание нескольких директив ProxPass - не лучшая идея, потому что существует множество путей, которые должны поддерживаться экземпляром Tomcat, и многие из них меняются.

Перенаправляйте любые запросы для простого www.domain.com на www.domain.com/index.html, а затем добавьте исключение прокси перед пересылкой всего остального на Tomcat:

RewriteRule  ^/$                 /index.html
ProxyPass /index.html !
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/

Другое возможное решение:

<LocationMatch "/.+">
     # ProxyPass directives
</LocationMatch>