Haproxy文档(http://cbonte.github.io/haproxy-dconv/1.7/intro.html#3.3.2)列出了一个基本功能:
使用后端服务器进行身份验证后端服务器实际上是连接到它的预期haproxy节点
我一直试图做到这一点而且一直无法做到。所以这就是问题:
如何使用自签名证书向后端发送请求以进行身份验证。 uses
此后端的前端请求只是http。
这是我的haproxy.cfg文件:
global
maxconn 4096
daemon
log 127.0.0.1 local0
defaults
log global
option dontlognull
retries 3
option redispatch
maxconn 2000
timeout connect 5s
timeout client 15min
timeout server 15min
frontend public
bind *:8213
use_backend api if { path_beg /api/ }
default_backend web
backend web
mode http
server blogweb1 127.0.0.1:4000
backend api
mode tcp
acl clienthello req.ssl_hello_type 1
tcp-request inspect-delay 5s
tcp-request content accept if clienthello
server blogapi 127.0.0.1:8780
答案 0 :(得分:0)
我最终开始工作了。我相信让我失望的事实是,在做了haproxy -f <configFile> -st
后,它并没有像我想象的那样关闭这个过程。所以,我的更改/更新都没有。我kill -9
数十个haproxy服务并重新命令(haproxy -f),现在它正在工作。
现在,这是一个假设,虽然我非常有信心。我仍然会提出我的最终配置,万一有人会从这里收集一些东西。我用了https://www.haproxy.com/doc/aloha/7.0/deployment_guides/tls_layouts.html。该链接回答了我的问题&#34;您如何使用ssl&#34;对后端进行身份验证?就像文档说你可以。
global
maxconn 4096
daemon
log 127.0.0.1 local0
defaults
log global
option dontlognull
retries 3
option redispatch
maxconn 2000
timeout connect 5s
timeout client 15min
timeout server 15min
frontend public
bind *:443
mode http
use_backend api if { path_beg /api/ }
backend api
mode http
option httplog
server blogapi 127.0.0.1:4430 ssl ca-file <caFile.Pem> crt <clientCert.pem> verify required