Як виключити URL для Apache Mod_proxy?


24

У нас є два сервери Apache як передній і 4 сервіси tomcat як конфігуровані бек-енд, використовуючи mod_proxy модуль як балансир завантаження. Тепер ми хочемо виключити один urcat URL з балансира навантаження mod_proxy. Чи є спосіб або правило виключити?

Налаштування проксі-балансора:

<Proxy balancer://backend-cluster1>
   BalancerMember http://10.0.0.1:8080 loadfactor=1 route=test1 retry=10
   BalancerMember http://10.0.0.2:8080 loadfactor=1 route=test2 retry=10
</Proxy>

Відповіді:


40

Ви виключаєте шляхи з mod_proxy зі знаком оклику (!) Перед повним твердженням ProxyPass, якого у вашому зразку відсутнє - Це виглядатиме щось на кшталт ProxyPass /path balancer://backend-cluster1. Тому, щоб виключити шлях, додайте:

ProxyPass /my/excluded/path !

раніше

ProxyPass /my balancer://backend-cluster1

Але URL-адреса мати доступ за proxyBalancer
Mughil

Спасибі fuzzyfelt, я запитую, як виключити URL, якщо ми налаштували проксі-балансир. Я включив у запитання конфігурацію проксі
Mughil

1
Дивіться оновлену відповідь. Додайте виключення, перш ніж визначити, який шлях до проксіпасу.
Аластер Маккормак

2
Використання цієї відповіді чудово спрацювало з тим, щоб LetsEncrypt перейшов у стандартне розташування папок для virtualhost за замовчуванням під час використання ProxyPass для показу сервера чату. Додайте перед іншими директивами: ProxyPass /.well- unknown!
Професор Фолкен

2

На додаток до відповіді Alastair McCormack: Якщо ви користуєтесь <Location>, вам слід поставити виняток нижче, а не раніше:

<Location /my/>
    ProxyPass balancer://backend-cluster1
</Location>

<Location /my/excluded/path/>
    ProxyPass !
</Location>

-2

Ви можете поставити перезапис над директивами про проксі, які дадуть користувачам помилку 404, коли вони намагаються отримати доступ до URL-адреси, який ви хочете виключити. Вам потрібно буде включити переписати_модуль.

<Location ~ ^/urltoblock($|/)>
   RewriteEngine On 
   RewriteRule .* - [L,R=404]
</Location>

Він нічого не сказав про те, що хоче помилка 404.
користувач207421
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.