2017-10-01 2 views
0

proxy_balancer mod를 사용하기 위해 아파치 2.4를 설정하는 데 어려움이 있습니다. 나의 유스 케이스는 상당히 솔직하다. 요청이 클러스터에로드 밸런싱되어야하는 아파치 노드에 도달하고 있습니다.proxy_balancer와의 Apache로드 밸런싱

<VirtualHost *:80> 

    ProxyRequests off 

    ServerName localhost 

    <Proxy balancer://geocode> 

      BalancerMember "http://192.168.2.11:8080/ors/status" 
      BalancerMember "http://192.168.2.35:8080/ors/status" 

      Require all granted 

      ProxySet lbmethod=byrequests 

    </Proxy> 

    <Location /balancer-manager> 

      SetHandler balancer-manager 

      Require all granted 

    </Location> 

    ProxyPass /balancer-manager ! 
    ProxyPass "/geocodelb" "balancer://geocode" 
    ProxyPass "/geocode" "http://192.168.2.35:8080/ors/status" 

</VirtualHost> 

localhost:80/geocodelb로 이동 내가 404 Not Found가 나타납니다 :

129.206.205.50 - - [01/Oct/2017:19:39:55 +0000] "GET /geocodelb 
HTTP/1.1" 404 164 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; 
rv:56.0) Gecko/20100101 Firefox/56.0" 

하지만 localhost:80/geocode 작품이 내 config있는 바람둥이 인스턴스에

129.206.205.50 - - [01/Oct/2017:19:40:07 +0000] "GET /geocode HTTP/1.1" 
200 757 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:56.0) 
Gecko/20100101 Firefox/56.0" 

합니다 (../status 점과 JSON을 반환 객체)

URL을 BalancerMembers의 임의의 것으로 바꾸면 - google.com처럼 작동합니다.

밸런서 관리자에게 으로 연락하여 정확한 정보를 얻을 수도 있습니다. 내가 잘못 본 것이 아니라면 모든 것이 괜찮아 보인다는 것을 알 수 있습니다 (스크린 샷 참조). 내가 여기서 무엇을 놓치고 있니?

enter image description here

답변

0

이 작동하지 않는 이유는 balancermember 경로없이, 서버에 URL을해야한다는 것입니다. 이 경로는 ProxyPass 지시문에 추가됩니다 (예 : balancer://orsbackend/ors/geocode). 여기 작업 설정 :

<VirtualHost *:80> 

     ProxyRequests off 

     ServerName localhost 

     <Proxy balancer://orsbackend> 
       BalancerMember "http://192.168.2.11:8080" 
       BalancerMember "http://192.168.2.35:8080" 
       ProxySet lbmethod=byrequests 
     </Proxy> 

     <Location /balancer-manager> 
       SetHandler balancer-manager 

       Require all granted 
     </Location> 

     ProxyPass /balancer-manager ! 

     ProxyPass "/geocode" "balancer://orsbackend/ors/geocode" 

</VirtualHost>