Apache Mod_proxy의 URL을 제외하는 방법? 사용하여 구성된

우리는로드 밸런서로 mod_proxy 모듈을 사용하여 구성된 백엔드로 2 개의 Apache 서버를 프론트 엔드로, 4 개의 tomcat 서버를 가지고 있습니다. 이제 mod_proxy로드 밸런서에서 단일 Tomcat URL을 제외하려고합니다. 제외 할 방법이나 규칙이 있습니까?

프록시 밸런서 설정 :

<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>



답변

샘플이 누락 된 전체 ProxyPass 문 앞에 느낌표 (!)를 사용하여 mod_proxy에서 경로를 제외합니다 ProxyPass /path balancer://backend-cluster1. 따라서 경로를 제외하려면 다음을 추가하십시오.

ProxyPass /my/excluded/path !

전에

ProxyPass /my balancer://backend-cluster1


답변

Alastair McCormack의 답변 외에도 :를 사용하는 경우 <Location>이전 대신 다음을 제외해야합니다.

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

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


답변

제외하려는 URL에 액세스하려고 할 때 404 오류를 발생시키는 프록시 지시문 위에 다시 쓸 수 있습니다. rewrite_module을 활성화해야합니다.

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


답변