首页 > 解决方案 > HAProxy 将自定义标头中的标头值转发到后端

问题描述

我正在尝试将标头中收到的证书转发frontendbackend具有不同标头名称的证书中。但是,不会转发该值。我无法在文档中确定应该如何完成。

我正在尝试执行以下操作:

我现在的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

标签: sslhttp-headersx509certificatehaproxyhttp-proxy

解决方案


你可以试试这个。

http-request add-header X-CERTIFICATE -----BEGIN\ CERTIFICATE-----\ %[ssl_c_der,base64]\ -----END\ CERTIFICATE-----\ # don't forget last space

推荐阅读