在HAProxy中使用SSL证书进行连接(3)

123456 frontend wzlinux_ssl
    bind *:80
    bind *:443 ssl crt /etc/haproxy/wzlinux.pem
    redirect scheme https if !{ ssl_fc }
    mode http
    default_backend wzlinux

上面,我们添加了 redirect 导向,如果连接不是通过SSL连接的,它将http重定向到https。
4、使用HAProxy实现SSL穿透
    使用SSL穿透,我们将让后台服务器处理SSL连接,而非负载均衡器来处理。

负载均衡器的工作就只是简单地将请求转发到配置好的后台服务器。因为连接还保持加密状态,HAProxy只能将它转发给其他服务器,其他事情就没法做了。
    在这个配置中,我们需要在前端和后台配置中同时使用TCP模式而不是HTTP模式。HAProxy只会把连接当作信息流来转发到其他服务器,而不会使用在HTTP请求上才能使用的功能。
首先,我们调整一下前端配置:
123456 frontend wzlinux_ssl
    bind *:80
    bind *:443
    option tcplog
    mode tcp
    default_backend wzlinux

这里依然同时绑定80和443端口,以保证正常的HTTP连接和SSL连接都能工作。
    正如上述提到的,转发一个安全连接而服务器而不作任何解码,我们需要使用TCP模式(mode tcp)。这也意味着我们需要设置tcp日志而不是默认的http日志(option tcplog)。
    接着,我们要调整后台end配置。注意,我们还要将这个更改成TCP模式,并删除一些directives以避免因为修改/增加HTTP报头功能所带来的冲突:
1234567891011 backend wzlinux
    mode tcp
    balance roundrobin
    option ssl-hello-chk
    server      wzlinux01  10.0.0.9:8080 check inter 15000 rise 2 fall 4
    server      wzlinux02  10.0.0.9:8081 check inter 15000 rise 2 fall 4
    server      wzlinux03  10.0.0.9:8082 check inter 15000 rise 2 fall 4
    server      wzlinux04  10.0.0.9:8083 check inter 15000 rise 2 fall 4
    server      wzlinux05  10.0.0.9:8084 check inter 15000 rise 2 fall 4
    server      wzlinux06  10.0.0.9:8085 check inter 15000 rise 2 fall 4
    server      wzlinux07  10.0.0.9:8086 check inter 15000 rise 2 fall 4

正如你所看到的,这里设置成了mode tcp - 前端和后台配置都需要设置成这个模式。
    我们还删除了option forwardfor和http-request选项 - 这些不能用于TCP模式,而且我们也不能向已加密的请求添加报头,还有一些前面的默认配置也删去关于http的配置,这里不再演示。
    为了检查正确与否,我们可以使用ssl-hello-chk来检查连接及它处理SSL(特别是SSLv3)连接的能力。
    在这个例子中,我虚构了两个接受SSL证书的后台服务器。如果你有阅读过edition SSL certificates,你会看到如何将它们集成到 Apache 或 Nginx 来创建一个网络服务器后台,以处理SSL通信。使用SSL 穿越,不需要给HAProxy创建或使用SSL证书。后台服务器都能够处理SSL连接,如同只有一台服务器且没有使用负载均衡器那样。
    在关于如何设定lvs分发这里不再进行设定演示,大家可以查看我有关LVS的文章。

Haproxy+Keepalived搭建Weblogic高可用负载均衡集群

Keepalived+HAProxy配置高可用负载均衡

CentOS 6.3下Haproxy+Keepalived+Apache配置笔记

Haproxy + KeepAlived 实现WEB群集 on CentOS 6

Haproxy+Keepalived构建高可用负载均衡

使用 HAProxy 配置 HTTP 负载均衡器

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ec2ed2b504deac9481c7555407582e6c.html