Ответ 1
Я считаю, что вам нужны оба
ProxyPass /path/ http://localhost:8080/contextname/
ProxyPassReverse /path/ http://localhost:8080/contextname/
Любая причина не использовать mod_jk?
Я использую Tomcat 5.5.9 и Apache 2.x
Мы пытаемся использовать имя пути в ProxyPass, которое отличается чем имя контекста Tomcat.
ProxyPass /path http://localhost:8080/contextname
Однако это не работает. Когда эти два одинаковы то все работает нормально.
Большинство примеров, которые я вижу в сети, также имеют путь, равный имя контекста Tomcat.
Я использую "context.xml" в контексте Tomcat и делаю НЕ имеют записи "server.xml". Кроме того, я использую простой httd.conf и НЕ использовать любые записи VirtualHost.
Любая помощь приветствуется.
Привет,
Diptenu
Я считаю, что вам нужны оба
ProxyPass /path/ http://localhost:8080/contextname/
ProxyPassReverse /path/ http://localhost:8080/contextname/
Любая причина не использовать mod_jk?
RewriteEngine on
RewriteRule ^/path$ /path/ [R]
RewriteRule ^/path/(.*) /contextname/$1 [P]
ProxyPass /contextname/ protocol://192.168.15.48:8080/contextname/
ProxyPassReverse /contextname/ protocol://192.168.15.48:8080/contextname/
Где "протокол" = "http" в этом случае...
Добавьте косую черту к обоим значениям:
ProxyPass /path/ http://localhost:8080/contextname/
Ваша проблема - это, вероятно, самореферентные URL-адреса, которые создает приложение. Существует не так много, вы можете сделать с ним, кроме
Вариант 2 может быть очень хрупким. Для получения дополнительной информации см. файл tomcat.
Скажите, что ваш домен - bla.com, и вы хотите прокси bla.com/path для 8080/contextname.
Если вы используете следующее, вы в конечном итоге получаете перенаправление на контекстное имя
ProxyPass /path http://localhost:8080/contextname
ProxyPassReverse /path http://localhost:8080/contextname
Результат: bla.com/contextname (Перенаправление в журналах apache)
Чтобы получить желаемый результат, вы должны включить слэш после контекста.
ProxyPass /path http://localhost:8080/contextname/
ProxyPassReverse /path http://localhost:8080/contextname/
Результат: bla.com/path
Немного поздно, но это то, куда вас ведет Google.