配置客户端证书身份认证(mTLS).note

noteId: WEB5eb7c40941263a82fe4558f5d137cc13 · 原始路径:/ALL/Linux - A模块/服务配置/haproxy 代理(高可用负载均衡)-LB集群/配置客户端证书身份认证(mTLS).note · 图片:10 · 附件待处理:0

 
 
 
1、配置 客户端证书身份认证:
 
与Windows不同,Linux的证书不需要有 服务器身份认证、客户端身份认证字段,只需要CA能够信任即可,可以不需要有DNS字段,CN字段也无需与客户端匹配,只要是张证书就行
(1)haproxy配置:
vim /etc/haproxy/haproxy.cfg
 
# 参数解释:
ca-file [file]   //指定ca根证书文件(如果客户端证书是由子CA签发,则该文件需要包含根CA的证书和子CA的证书)
verify required    //要求客户端必须提供有效证书(否则不允许访问443端口)
 
(2)将Web证书导出为 pkcs12格式文件:
# openssl pkcs12 -export -out [转换后的pkcs12文件名] -in [要被转换的证书文件] -inkey [要被转换证书的私钥] -certfile [ca根证书]
openssl pkcs12 -export -out client.p12 -in skill39.crt -inkey skill39.key -certfile ca.crt
将它拷贝给客户端
 
(3)客户端导入pkcs12格式证书:
cp client.p12 /home/user
chmod 755 /home/user/client.p12
打开火狐浏览器导入证书:
 
输入前面生成时输入的密码:
 
 
·客户端测试访问:
可以看到弹出了证书选择页面,点击OK
 
 
访问成功:
 
如果没有证书,或者取消选择证书就会报错: