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

Как добавить исключения в правила обратного прокси-сервера Apache

Я пытаюсь настроить обратный прокси-сервер Apache, чтобы запросы передавались другому приложению, работающему на 8080. Однако я хочу, чтобы некоторые каталоги обслуживались напрямую, а не перенаправлялись на прокси. Я хочу:

http: // localhost / -> http: // локальный: 8080 / myapp
http: // localhost / images -> / var / www / html / images
http: // localhost / что-нибудь еще -> http: // localhost: 8080 / myapp / что-нибудь еще

Мой текущий httpd.conf

ProxyRequests Off
ProxyTimeout 600
ProxyPreserveHost On
ProxyPass / http:// localhost:8080/
ProxyPassReverse / http:// localhost:8080/
RewriteEngine On
RewriteRule ^/(.*) http:// localhost:8080/VirtualHostBase/http/%{SERVER_NAME}:80/myapp/VirtualHostRoot/$1 [L,P]

Какую конфигурацию мне нужно сделать, чтобы исключение локального пути работало?

Спасибо, Таня

Я нашел решение.

Чтобы исключить / myapp, мне нужно добавить

ProxyPass /myapp ! 

как первая директива ProxyPass, поскольку исключения должны предшествовать общему правилу.

Мне также нужно добавить

RewriteCond !^/myapp/(.*)

перед RewriteRule, чтобы исключить его из RewriteRule