2010-09-21 2 views
0

, когда я пытался получить запрашиваемую URL на какой странице на myapp.com я получить что-то вроде: http://127.0.0.1:8084/myapp/mypageПроблема с HttpServletRequest и Apache

и он должен был быть: http://myapp.com/mypage

я думаю что это связано с тем, что Apache действует как посредник между tomcat и запросами/ответами пользователя

любые идеи, почему такое поведение происходит, и как это исправить? спасибо

ответ

0

Как вы подключаете свой Apache к серверу приложений Java?

Если вы используете простой обратный прокси (mod_proxy), то, что вы получаете, - это то, что ожидается. Вы не сможете изменить это из-за природы обратного прокси.

С другой стороны, если вы используете AJP (с mod_ajp или mod_jk), вы должны получать http://myapp.com/mypage.

Мое предложение: перейти на AJP, если вы используете простой обратный прокси.

+0

Я использовал ajp, он правильно использует URL-адрес, но проблема в том, что он делает плохое перенаправление, например: если вы хотите получить доступ к странице mypage, она перейдет на страницу http://myapp.com/myapp/mypage, но она должна перейдите по адресу http://myapp.com/mypage. –

+0

Покажите, как вы выполняете перенаправление (в конфигурации httpd.conf). –

+0

AddDefaultCharset Off Order отрицаю, позволяют Разрешить из всех ProxyPass/ОЮЛ: //127.0.0.1: 8009/MyApp/ ProxyPassReverse/AJP: //127.0.0.1: 8009/MyApp/ ProxyPassReverseCookiePath/MyApp/ –