2013-04-30 3 views
0

appfog에서 실행중인 일부 응용 프로그램에 요청을 전달하기 위해 하나의 서버에서 실행중인 HAproxy를 구성하려고하지만 작동이 중지되었습니다. 구성을 확인했지만 문제를 발견 할 수 없습니다.haproxy가 아닌 호스트를 전달하는 역방향 프록시

나는 내가 appfog에 domain1.app.com로 라우팅하고있는 domain1.com를 입력하지만 때 서버가 발생하기 때문에 호스트 정보가 제대로 전달되지으로 판단되는 404

이 내 구성 파일입니다 - 이 정확한 경우 제공된 예제를 바탕으로

global 
     maxconn 4096 
     user  haproxy 
     group  haproxy 
     daemon 
     log  127.0.0.1 local0 info 
     log  127.0.0.1 local1 notice 

defaults 
     log  global 
     mode http 
     option httplog 
     option dontlognull 
     option originalto 
     option forwardfor 
    stats enable 
    stats auth domain1:xxxxxx 
     option httpclose 
     retries 3 
     option redispatch 
     maxconn  2000 
     contimeout  5000 
     clitimeout  50000 
     srvtimeout  50000 

backend domain1_at_appfog 
     reqirep ^Host:\ domain2.com Host:\ domain2.web.app.com 
     server appfog1 domain2.web.app.com:80 

backend domain2_at_appfog 
     reqirep ^Host:\ domain1.com Host:\ domain1.app.com 
     server appfog2 domain1.app.com:80 

backend local_host_site 
     server this1 127.0.0.1:8080 

frontend superliciousLove *:80 
     acl www_domain1 hdr_dom(host) -i www.domain1.com 
    acl local_host url_sub www2 
    use_backend domain1_at_appfog if www_domain1 
     use_backend local_host_site if local_host 
     default_backend domain1_at_appfog 

답변

1

, 다음 문제는 여기에 있습니다 :

backend domain1_at_appfog 
    reqirep ^Host:\ domain2.com Host:\ domain2.web.app.com 
    server appfog1 domain2.web.app.com:80 

귀하의 ACL은 www.domain1.com 확인 및 경로입니다 ~ backend domain1_at_appfog. 그러나 domain1.com 대신 domain2.com을 대체하고 appfog는 다시 매핑 된 호스트 이름 대신 domain1.com 만 볼 수 있습니다.

backend domain1_at_appfog 
    reqirep ^Host: Host:\ domain1.web.app.com 
    server appfog1 domain1.web.app.com:80 

backend domain2_at_appfog 
    reqirep ^Host: Host:\ domain2.app.com 
    server appfog2 domain2.app.com:80 
: 둘 이상의 도메인을 지원하는 백엔드를해야하는 경우

, 당신은 appfog 호스트와 일치하는 모든 호스트를 대체 할 reqirep의 사용을 변경할 수 있습니다