HAProxy - 配置HTTP前端以侦听多个端口

时间:2013-11-19 21:46:08

标签: haproxy

我的HAProxy配置中有一个HAProxy HTTP前端,如下所示:

frontend myaddress.net :10098
  bind :80,:8080
  mode http
  log global
  option http-server-close
  timeout client 14400000
  timeout connect 60000
  timeout tunnel 14400000
  timeout http-request 14400000
  capture request header User-Agent len 64
  capture request header Accept-language len 64
  capture request header x-forward len 15
  capture request header host len 64
  capture request header X-Orig-Base len 64
  capture request header X-Orig-Host len 64
  capture request header X-Orig-Proto len 64

  reqadd X-Original-host:\ myaddress.net

  acl is-ssl hdr(X-Orig-Proto) https
  acl is-http hdr(X-Orig-Proto) http

  redirect code 301 prefix https://myaddress.net if is-http

  default_backend BACKEND_myaddress.net:catchall

它指向一个如此定义的后端:

backend BACKEND_myaddress.net:catchall
  timeout server 4h
  balance leastconn
  server myserver myserver:8080 check inter 5s rise 3 fall 1

我已经让它在80端口上听,然后在后端服务器上转发到8080,但现在我试图让它也在前端8080端口上听(不要#39;问我为什么,这是一个蹩脚的要求)。

如你所见,我有一句话bind :80,:8080。我认为这会让前端也听8080端口,但它似乎没有出现在端口8080上听。

这种配置中是否有我缺少的东西?如何在端口8080和80上进行前端侦听,然后在端口8080上转发到后端服务器?

2 个答案:

答案 0 :(得分:27)

在前端部分尝试此操作:

bind :80
bind :8080

答案 1 :(得分:3)

bind 0.0.0.0:80
bind 0.0.0.0:8080

适合我!