HAproxy 子域重定向

psc*_*sce 11 linux haproxy

我拥有一个像 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
Run Code Online (Sandbox Code Playgroud)

为了进行这种重定向,我该如何设置 haproxy?

Ste*_*ano 11

在 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
Run Code Online (Sandbox Code Playgroud)

如果你想重定向 www.xyz.com/abc/abc.xyz.com

    redirect prefix   http://abc.xyz.com if tomcat_path
Run Code Online (Sandbox Code Playgroud)


mai*_*ilq -3

Haproxy 既不重定向名称也不重定向 URI。

名称由名称服务器 (DNS) 控制。

URI 由网络服务器(HTTP)(的模块)重定向。

Haproxy 是平衡两个(或多个)相同服务器之间的流量(TCP/IP)。

  • 你错了,Haproxy 既是负载均衡器,又是反向代理服务器。 (10认同)
  • haproxy 可以很好地重定向前缀(子域/域/等)和 url。在 http://haproxy.1wt.eu/download/1.4/doc/configuration.txt 中搜索“重定向位置”和“重定向前缀” (9认同)