Страница 1 из 1

Помогите написать RewriteRule на Tomcat

Добавлено: 2013-02-13 11:07:08
kharkov_max
День добрый.

Есть Tomcat7, открыт по 8443 порту, так же включен ajp конектор
Есть Apache22 открыт по 80 порту, собран с mod_poxy и mod_rewrite mod_proxy_ajp

Хочу что бы при обращении на Apache 80 порт, открывался сайт на tomcat, но к сожаkению не получается ...

Вот так:

Код: Выделить всё

    ProxyRequests Off
    ProxyPreserveHost On
    ProxyVia Off
    CacheDisable *

    ProxyPass /site        ajp://127.0.0.1:8009/site
    ProxyPassReverse /site ajp://127.0.0.1:8009/site
работает, но нужно набирать ссылку как http://mysite.domain.com/site, а хочется просто http://mysite.domain.com
Т.е. делать проброс через apache на определенный сайт tomcat.
Мало того доступ к 8443 порту tomcat должен работать, для админки tomcat

Думаю что нужно как то правильно написать RewriteRule, т.к. ProxyPass не совсем реализует этот механизм ...

Заранее спасибо за помощь ...

Re: Помогите написать RewriteRule на Tomcat

Добавлено: 2013-02-15 7:19:22
гость
а так не работает?

Код: Выделить всё

RewriteRule ^site$ http://mysite.domain.com [R=301,L]

Re: Помогите написать RewriteRule на Tomcat

Добавлено: 2013-02-15 7:22:42
гость
естественно в начале должно быть

Код: Выделить всё

Options +FollowSymLinks
RewriteEngine on
RewriteBase /

Re: Помогите написать RewriteRule на Tomcat

Добавлено: 2013-02-15 8:44:55
kharkov_max
гость писал(а):а так не работает?

Код: Выделить всё

RewriteRule ^site$ http://mysite.domain.com [R=301,L]
Вот какие в итоге получились правила:

Код: Выделить всё

ProxyRequests Off
    ProxyPreserveHost On
    ProxyVia Off
    CacheDisable *

    RewriteEngine On
    Options +FollowSymLinks
    RewriteBase /
    RewriteRule ^site$ http://192.168.0.1 [R=301,L]

    ProxyPass /site        ajp://127.0.0.1:8009/site
    ProxyPassReverse /site ajp://127.0.0.1:8009/site
Перезапуск Apache22, получаю

Код: Выделить всё

/usr/local/etc/rc.d/apache22 restart
Performing sanity check on apache22 configuration:
Syntax error on line 41 of /usr/local/etc/apache22/extra/httpd-vhosts.conf:
RewriteBase: only valid in per-directory config files
Как я понимаю просит RewriteBase указать в .httaccess а не в конфиге virtualhost ...
Без этого правила, как работало так и работет.

Re: Помогите написать RewriteRule на Tomcat

Добавлено: 2013-02-15 8:53:03
kharkov_max
Так, что то туплю ...
Админка Tomcat висит на другом порту 8443, в связи с этим настройки virtualhost apache к админке tomcat, ни каким боком ..
Далее, практически уверен что все необходимо сделать в RewriteRule, не используя proxypass.
+ нужно это сделать через ajp конектор ...

Re: Помогите написать RewriteRule на Tomcat

Добавлено: 2013-02-15 9:24:04
гость

Код: Выделить всё

RewriteCond %{HTTP_HOST} ^192.168.0.1
RewriteRule ^(.*)$ http://192.168.0.1/site$1
Если не заработает то

Код: Выделить всё

RewriteBase /после_слеша_полный_путь_до_директори

Re: Помогите написать RewriteRule на Tomcat

Добавлено: 2013-02-15 9:39:27
kharkov_max
гость писал(а):

Код: Выделить всё

RewriteCond %{HTTP_HOST} ^192.168.0.1
RewriteRule ^(.*)$ http://192.168.0.1/site$1
Если не заработает то

Код: Выделить всё

RewriteBase /после_слеша_полный_путь_до_директори
С такими правилами в URL от корня добавляет site/site/...../site и ошибка ...