【发布时间】:2021-09-10 21:26:12
【问题描述】:
我正在尝试将在 frontend 的标头中收到的证书转发到具有不同标头名称的 backend。但是,不会转发该值。我无法在文档中确定应该如何完成。
我正在尝试执行以下操作:
- 接收带有 Base64 编码证书的标头
ssl-client-cert - 使用
ssl-client-cert标头中的值设置新标头X-CERTIFICATE - 将带有
X-CERTIFICATE的请求发送到后端
我当前的haproxy.cfg 看起来像这样:
global
log stdout format raw local0 debug
defaults
log global
timeout connect 5s
timeout client 1m
timeout server 1m
frontend api_gateway
mode http
bind :8080
http-request capture req.hdr(ssl-client-cert) len 64
acl PATH_api path_beg -i /api
use_backend core if PATH_api
default_backend fe
backend fe
mode http
server fe fe-service:80
backend core
mode http
http-request add-header X-CERTIFICATE %[capture.req.hdr(0)]
server core core-service:8080
【问题讨论】:
标签: ssl http-headers x509certificate haproxy http-proxy