haproxy http请求回应

haproxy http请求回应

我在 /etc/haproxy/haproxy.cfg 中有以下配置

> frontend LB
>         bind *:80
>         reqadd X-Forwarded-Proto:\ http
>         default_backend LB
> 
> frontend LBS
>         bind *:443 ssl crt /etc/ssl/xy.pem
>         reqadd X-Forwarded-Proto:\ https
>         default_backend LB
> 
> backend LB *:80
>         redirect scheme https if !{ ssl_fc }
>         mode http
>         stats enable
>         stats hide-version
>         stats uri /stats
>         stats realm Haproxy\ Statistics
>         stats auth xxxx:yyyyyy         
>         balance roundrobin                      
>         option httpchk
>         option  httpclose
>         option forwardfor
>         cookie LB insert
>         server web1-srv xx.xx.xxx.xxx:80 cookie web1-srv check         
>         server web2-srv xx.xx.xxx.xxx:80 cookie web2-srv check

从日志中我感觉到 https 请求不起作用

[07/8月/2018:12:35:01.402] LB LB/10/-1/-1/-1/10 302 121 - - LRNN 0/0/0/0/3 0/0 “GET/HTTP/1.1”

答案1

您的前端 LBS 会“卸载”https,并将 http 请求传递给后端 LB。然后后端 LB 会重定向到 https。正如您在日志中看到的那样:302。

顺便说一句,我认为您应该从后端删除“*:80”。前端 LB 绑定到端口 80。

相关内容