2016-08-11 3 views
1

mod_proxy와 wildfly (apache 224와 wildfly 9)가있는 Apache로드 밸런서가 있습니다.mod_proxy로 나머지 웹 서비스를위한 apache httpd와 wildfly가있는로드 밸커

나는 wildfly의 도메인에 4 대의 서버가 있으며로드 밸런서는 "hello world"앱으로 잘 작동하며 밸런서 관리자에서 각 서버로 요청을 보내는 방법을 볼 수 있습니다.

문제는, 일부 REST 웹 서비스가있는 응용 프로그램을 사용할 때 GET 메서드로 요청을 보내고 인증을 위해 일부 헤더를 보내고 응용 프로그램이 오류를 통해 응답 할 때 오류가 발생합니다. 로드 밸런서,하지만 서버에 직접 보낼 경우 올바르게 작동합니다. 다음과 같이

내 기기 구성 간다

<VirtualHost *:80> 
ProxyRequests Off 
<Proxy balancer://mycluster> 
    BalancerMember http://localhost:8080/ loadfactor=25 
    BalancerMember http://localhost:8230/ loadfactor=25 
    BalancerMember http://localhost:8330/ loadfactor=25 
    BalancerMember http://localhost:8430/ loadfactor=25 
</Proxy> 
<Location /balancer-manager> 
    SetHandler balancer-manager 
    Order Deny,Allow 
    Allow from all 
</Location> 
<Location /test> 
    Order allow,deny 
    Allow from all 
</Location> 
ProxyPass /test balancer://mycluster stickysession=JSESSIONID 

나는 우체부를 사용하여 get 메소드 및 인증을위한 헤더와 함께 요청 전송 테스트입니다

: 기본 {64 기수 코드}으로는 다음과 같습니다

http://127.0.0.1/test/myproject.ws/myproject/get_list?key=T11108101191&page=1

이며 이로 인해 오류가 발생합니다. 이 확인

간다

http://127.0.0.1:8080/myproject.ws/myproject/get_list?key=T11108101191&page=1

와 내가 위의 노력하지만 포스트 방법으로는 부하 분산과 같은 오류를 얻을 때 :

는 이걸하려고 할 때.

무엇이 잘못 되었습니까?

추신 : 프로젝트의 WEB-INF/web.xml을 넣으려고 했는데도 여전히 같은 오류가 발생합니다.

+0

확실하지 경우,'ProxyPass로/test'를 사용하는 경우, 다음'사용 BalancerMember HTTP : 다음과 같이

새 구성 간다 // localhost를 : 8080' –

+1

고마워! 그게 문제 였어. 나는 모든 것을 잘 보았을 때 이것에 관해 열매를 맺고 있었고, 로그에는 전혀 오류가 없었습니다. – user3123488

답변

1

두산 바지 츠 덕분에 그는 내가 가진 문제를 보았습니다. 밸런서 멤버에서 "/"를 사용하여 경로를 완성했으며 ProxyPass를 사용할 때 "/"로 시작하여 해당 문자를 복제했습니다. 여하튼, helloworld 앱으로 제대로 작동했지만 매개 변수를 전달할 때 실패했습니다. 이 관련되어 있지만 후행 슬래시과 일치해야합니다

<VirtualHost *:80> 
    ProxyRequests Off 
<Proxy balancer://mycluster> 
    BalancerMember http://localhost:8080 loadfactor=25 
    BalancerMember http://localhost:8230 loadfactor=25 
    BalancerMember http://localhost:8330 loadfactor=25 
    BalancerMember http://localhost:8430 loadfactor=25 
</Proxy> 
<Location /balancer-manager> 
    SetHandler balancer-manager 
    Order Deny,Allow 
    Allow from all 
</Location> 
<Location /test> 
    Order allow,deny 
    Allow from all 
</Location> 

ProxyPass /test balancer://mycluster stickysession=JSESSIONID 
</VirtualHost>