通过url路径将HTTPS转发到其他主机的问题

时间:2018-06-14 22:04:37

标签: ssl haproxy forwarding

当网址路径以“/ 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

0 个答案:

没有答案