LINUX.ORG.RU
ФорумAdmin

Apache ProxyPass

 , , ,


0

1

Второй день ни как не могу решить проблему:
есть glassfish на нем крутится пару приложений, доступны они по следующему урл: http://127.0.0.1:8080/app http://127.0.0.1:8080/app2
Надо сделать доступ по ссылки в вида app.domain.ru (на 80 порту)

<VirtualHost *:80>
    ServerName app.domain.ru
    ProxyRequests On
    ProxyPreserveHost Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://127.0.0.1:8080/app/
    ProxyPassReverse / http://127.0.0.1:8080/app/
    ErrorLog ${APACHE_LOG_DIR}/error.log
</VirtualHost>
Вроде бы работает, НО не подгружаются картинки, css, и jsf ресурсы. Ресурсы не грузятся потому что они пытаются получится по урл http://app.domain.ru/app/
Как правильно настроить apache. Сейчас временно решил проблемы заведя на glassfish'e виртуальные хосты и прописав следующие конфиги:

<VirtualHost *:80>
    ServerName app.domain.ru
    ProxyRequests On
    ProxyPreserveHost Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://app.domain.ru:8080/app/
    ProxyPassReverse / http://app.domain.ru:8080/app/
    ErrorLog ${APACHE_LOG_DIR}/error.log
</VirtualHost>
+ проставил в glasfish'e для каждого виртуального хоста свой default web modules (но при таком варианте возникает проблему с передеплоем приложения из под консоли, как раз из-за того что проставлен default web modules)


Давно апач не щупал. Как-то так:

RewriteEngine   On
RewriteCond     %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule     (.+) http://127.0.0.1:8080/app$1 [P,L]
ProxyPassReverse / http://127.0.0.1:8080/app/

beastie ★★★★★
()
Ответ на: комментарий от beastie

Для nginx, если перебираться надумешь (а я советую):

location / {
    try_files $uri @backend;
}

location @backend {
    proxy_redirect   default;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://127.0.0.1:8080/app/
}

beastie ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.