Built-in traefik middleware PassTLSClientCert let you pass many certificate parameters such as common name or serial number. But all parameter passed in one header value, so you can not get just pure certificate serial number in header. This middleware solves this problem for you. It extracts just pure SN value and put in a header
snHeaderName
: name of header, in which will be put decimal SN value.
Default is Forwarded-Tls-Client-Cert-Dec-SnlogLevel
: warn
, info
or debug
. Default is info
--experimental.localplugins.tlsclientcertforward=true
--experimental.localplugins.tlsclientcertforward.modulename=github.com/v-electrolux/tlsclientcertforward
TRAEFIK_EXPERIMENTAL_LOCALPLUGINS_tlsclientcertforward=true
TRAEFIK_EXPERIMENTAL_LOCALPLUGINS_tlsclientcertforward_MODULENAME=github.com/v-electrolux/tlsclientcertforward
experimental:localplugins:tlsclientcertforward:modulename: github.com/v-electrolux/tlsclientcertforward
[experimental.localplugins.tlsclientcertforward]modulename = "github.com/v-electrolux/tlsclientcertforward"
traefik.http.middlewares.snForwardMiddleware.plugin.tlsclientcertforward.snHeaderName=SSL_SN_HEADER
traefik.http.middlewares.snForwardMiddleware.plugin.tlsclientcertforward.logLevel=warn
traefik.http.routers.snForwardRouter.middlewares=snForwardMiddleware
http:routers:snForwardRouter:rule: host(`demo.localhost`)service: backendentryPoints:- webmiddlewares:- snForwardMiddlewareservices:backend:loadBalancer:servers:- url: 127.0.0.1:5000middlewares:snForwardMiddleware:plugin:tlsclientcertforward:snHeaderName: SSL_SN_HEADERlogLevel: warn