我的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上转发到后端服务器?
答案 0 :(得分:27)
在前端部分尝试此操作:
bind :80
bind :8080
答案 1 :(得分:3)
bind 0.0.0.0:80
bind 0.0.0.0:8080
适合我!