HAproxy 하위 도메인 리디렉션


9

xyz.com과 같은 하나의 도메인을 소유하고 있으며 haproxy로 하위 도메인을 다른 ip로 리디렉션하려고합니다.

서버에서 tomcat을 사용하고 haproxy를 사용하여 포트 80의 수신 요청을 포트 8080으로 리디렉션합니다.

Like;

www.xyz.com -> 10.0.0.1

www.xyz.com/abc -> 10.0.0.2
  or  abc.xyz.com -> 10.0.0.2

이 리디렉션을 수행하려면 haproxy를 어떻게 설정합니까?


4
왜 당신이 3 번이나 의견을 쓰지 않았는지 모르겠습니다. 이것은 매우 좋은 스택 교환 에티켓이 아닙니다! 이 나쁜 환영에 대해 죄송합니다.
Stefano

답변:


10

haproxy에서는 acl규칙과 규칙을 결합하여 리디렉션을 수행 redirect합니다. backend규칙을 사용하여 올바른 서버를 선택하십시오 .

공식 haproxy 문서 는 읽기 쉽지 않지만 매우 완전합니다.

이와 같은 것 (당신에게 아이디어를주는 스케치 일뿐) :

frontend http-in
    mode              http
    bind              FRONTENDIP:80 # eg. 100.100.100.100:80

    default_backend   tomcat_server_2

    acl tomcat_1      hdr_end(host) -i www.xyz.com
    acl tomcat_2      hdr_end(host) -i abc.xyz.com
    acl tomcat_path   path_beg /abc/

    use_backend       tomcat_server_1 if tomcat_1 !tomcat_path

backend tomcat_server_1
    server tomcat1 10.0.0.1:8080 maxconn 1000

backend tomcat_server_2
    server tomcat2 10.0.0.2:8080 maxconn 1000

당신이 할 경우, 리디렉션 www.xyz.com/abc/abc.xyz.com:

    redirect prefix   http://abc.xyz.com if tomcat_path

1
예를 주셔서 감사합니다! 나는 두 번째 backend tomcat_server_1가되어야 한다고 생각 한다backend tomcat_server_2
22:33에

-3

Haproxy는 이름을 리디렉션하거나 URI를 리디렉션하지 않습니다.

이름은 이름 서버 (DNS)에 의해 지정됩니다.

URI는 웹 서버 (HTTP)의 모듈로 리디렉션됩니다.

Haproxy는 두 개 이상의 동일한 서버간에 트래픽 (TCP / IP)의 균형을 유지하는 것입니다.


8
haproxy는 접두사 (하위 도메인 / 도메인 / 등)와 URL을 모두 리디렉션 할 수 있습니다. 검색 redirect locationredirect prefixhaproxy.1wt.eu/download/1.4/doc/configuration.txt
스테파노

8
당신은 틀 렸습니다. Haproxy는로드 밸런서이자 리버스 프록시 서버입니다.
jmoreira
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.