Mat*_*ith 6 certificate haproxy client-certificate
我有一个以 HA 代理负载均衡器为前端的 Web API。Web API 使用客户端认证证书进行身份认证和授权。我希望 HA 代理设备终止 TLS 连接并在后端使用普通 HTTP 与 Web API 通信,但我需要通过 HTTP 连接传递的客户端身份验证证书。需要如何设置 HA 代理以将请求的身份验证证书保留在后端,但仅使用 HTTP?
您可以设置要发送到后端的各种 HTTP 标头,这些标头与所提供的 TLS 客户端证书有关。例如:
frontend intranet
bind 10.20.30.40:443 ssl crt /etc/haproxy/pem/server.pem ca-file /etc/haproxy/pem/client-chain.pem verify required
http-request set-header X-SSL %[ssl_fc]
http-request set-header X-SSL-Client-Verify %[ssl_c_verify]
http-request set-header X-SSL-Client-SHA1 %{+Q}[ssl_c_sha1]
http-request set-header X-SSL-Client-DN %{+Q}[ssl_c_s_dn]
http-request set-header X-SSL-Client-CN %{+Q}[ssl_c_s_dn(cn)]
http-request set-header X-SSL-Issuer %{+Q}[ssl_c_i_dn]
http-request set-header X-SSL-Client-Not-Before %{+Q}[ssl_c_notbefore]
http-request set-header X-SSL-Client-Not-After %{+Q}[ssl_c_notafter]
default_backend your_backend
Run Code Online (Sandbox Code Playgroud)
然后,您的应用程序必须检查标头并采取适当的措施。
此示例取自raymii.org,您可能会在其中找到一些有关在 HAProxy 中使用客户端证书的其他有用信息,例如验证客户端证书和拒绝无效证书。
归档时间: |
|
查看次数: |
3864 次 |
最近记录: |