接着,我们要调整后台end配置。注意,我们还要将这个更改成TCP模式,并删除一些directives以避免因为修改/增加HTTP报头功能所带来的冲突:
backend nodes
mode tcp
balance roundrobin
option ssl-hello-chk
server web01 172.17.0.3:443 check
server web02 172.17.0.4:443 check
正如你所看到的,这里设置成了mode tcp - 前端和后台配置都需要设置成这个模式。
我们还删除了option forwardfor和http-request选项 - 这些不能用于TCP模式,而且我们也不能向已加密的请求添加报头。
为了检查正确与否,我们可以使用ssl-hello-chk来检查连接及它处理SSL(特别是SSLv3)连接的能力。
在这个例子中,我虚构了两个接受SSL证书的后台服务器。如果你有阅读过 edition SSL certificates,你会看到如何将它们集成到 Apache 或 Nginx 来创建一个网络服务器后台,以处理SSL通信。使用SSL 穿越,不需要给HAProxy创建或使用SSL证书。后台服务器都能够处理SSL连接,如同只有一如服务器且没有使用负载均衡器那样。
资源
- HAProxy 官方 博客关于SSL终端的文章
- SO 问题: "什么是 PEM 文件?"
- 在Nginx中读取自定义报头 - 没有特别在这个版本中提到,但对于理解发送给Nginx的X-Forwarded-*报头有用
- 所以你使用了负载均衡器, 一篇关于在你的应用中使用负载均衡器注意事项的文章。.