当网址路径以“/ special-path”开头时,我正在尝试使用haproxy将https流量从一个主机转发到另一个主机(例如:www.mysite1.com/special-path/3)
通过以下设置,我实际上有10%的时间工作。它似乎经常超时,但偶尔会有一些请求被挤压 - 这使得我的haproxy配置完全没有声音。
我的设置:
在host1上,haproxy(配置为tls)正在运行,所有到www.mysite1.com的流量都来自此处。 在host2上,有一个在端口3000上运行的Web服务器(但是没有ssl,我希望haproxy终止ssl以避免在Web服务上设置它)
在第一台主机上,我的haproxy.conf具有以下内容:
frontend www-http
bind *:80
reqadd X-Forwarded-Proto:\ http
use_backend www-special-backend if { path_beg /special-path }
frontend www-https
bind *:443 ssl crt /etc/ssl/private/mysite1.com.pem
reqadd X-Forwarded-Proto:\ https
use_backend www-special-backend if { path_beg /special-path }
backend www-special-backend
mode http
server www-special-1 172.11.11.111:3000 check
我的理解是,通过host1上的此设置,https://www.mysite1.com/special-path/2会将流量转发到端口433上的172.11.11.111
现在在172.11.11.111主机上,我有haproxy(使用tls配置),具有以下内容:
frontend www-http
bind *:80
reqadd X-Forwarded-Proto:\ http
use_backend www-special-backend if { path_beg /special-path }
frontend www-https
log global
bind *:443 ssl crt /etc/ssl/private/mysite1.com.pem
reqadd X-Forwarded-Proto:\ https
use_backend www-special-backend if { path_beg /special-path }
backend www-special-backend
redirect scheme https if !{ ssl_fc }
option httpclose
server www-special-1 *:3000 check