HAproxy-Subdomain-Weiterleitung

9

Ich besitze eine Domain wie xyz.com und versuche, die Subdomain anderer IP mit Haproxy umzuleiten.

Ich verwende Tomcat auf den Servern und ich verwende Haproxy, um eingehende Anforderungen an Port 80 an Port 8080 umzuleiten.

Like;

www.xyz.com -> 10.0.0.1

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

Wie setze ich Haproxy, um diese Umleitung durchzuführen?

psce
quelle
4
Ich weiß nicht, warum du dreimal und ohne Kommentar herabgestimmt wurdest. Dies ist keine sehr gute Etikette für den Stapelaustausch! Entschuldigung für diesen schlechten Empfang.
Stefano

Antworten:

10

In Haproxy führen Sie eine Umleitung durch, indem Sie aclRegeln und Regeln kombinieren redirect. Sie wählen den richtigen Server anhand der backendRegel.

Die offizielle Haproxy-Dokumentation ist nicht sehr einfach zu lesen, aber sehr vollständig.

So etwas (nur eine Skizze, um Ihnen eine Idee zu geben):

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

Wenn Sie umleiten möchten www.xyz.com/abc/zu abc.xyz.com:

    redirect prefix   http://abc.xyz.com if tomcat_path
Stefano
quelle
1
Danke für das Beispiel! Ich denke, die zweite backend tomcat_server_1sollte seinbackend tomcat_server_2
Redgeoff
-3

Haproxy ist weder zum Umleiten von Namen noch zum Umleiten von URIs gedacht.

Namen werden von Nameservern (DNS) geleitet.

URIs werden von (Modulen) eines Webservers (HTTP) umgeleitet.

Haproxy dient dazu, den Datenverkehr (TCP / IP) zwischen zwei (oder mehr) identischen Servern auszugleichen.

mailq
quelle
8
Haproxy kann sowohl Präfixe (Subdomain / Domain / etc.) als auch URLs sehr gut umleiten. Suche nach redirect locationund redirect prefixin haproxy.1wt.eu/download/1.4/doc/configuration.txt
Stefano
8
Sie liegen falsch, Haproxy ist sowohl ein Load Balancer als auch ein Reverse Proxy Server.
Jmoreira