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次,而没有任何评论。这不是一个很好的stackexchange礼节!对不起,不好意思。
斯特凡诺

Answers:


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
redgeoff

-3

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

名称由名称服务器(DNS)指挥。

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

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


8
haproxy可以很好地重定向前缀(子域/域/等)和url。搜索redirect locationredirect prefixhaproxy.1wt.eu/download/1.4/doc/configuration.txt
斯蒂法诺

8
您错了,Haproxy既是负载均衡器又是反向代理服务器。
jmoreira 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.