【问题标题】:HAProxy forward header value in a custom header to backendHAProxy 将自定义标头中的标头值转发到后端
【发布时间】: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


    【解决方案1】:

    你可以试试这个。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 1970-01-01
      • 2021-06-12
      • 2012-04-23
      • 2021-06-18
      • 2014-11-25
      • 2020-02-28
      相关资源
      最近更新 更多