TLS客户端认证

    • 服务端使用TLS客户端认证对客户端进行认证。

    配置步骤

    • Step 1. 生成根证书
    • Step 2. 创建客户端证书签名申请
    1. openssl req -new -out client.csr -key client.key
    • Step 3. 生成客户端证书
    1. openssl x509 -req -in client.csr -out client.crt -signkey client.key -CA root.crt -CAkey root.key -days 365 -extfile openssl.cnf
    • Step 4. 配置4层负载均衡服务
    • 示例中,使用HAproxy作为4层负载均衡服务,通过PROXY协议将VIP传递给BFE,HAproxy与BFE同机部署。

    • 配置HAproxy,配置文件(haproxy.cfg)示例:

    • Step 5. 配置BFE客户端证书文件存储路径(conf/bfe.conf),将root.crt复制到tls_conf/client_ca目录 注:根证书文件后缀名必须为.crt
    1. ...
    2. Layer4LoadBalancer = "PROXY"
    3. ...
    4. ...
    5. ClientCABaseDir = tls_conf/client_ca
    6. ...

    修改 conf/tls_conf_rule.data,将ClientAuth置为true,ClientCAName填写根证书文件名。

    1. ./bfe -c ../conf
    1. openssl s_client -connect 127.0.0.1:7443 -cert client.crt -key client.key -state -quiet