Azure Application Gateway for Containers mTLS header forwarding possible?

Aleksandar 0 Reputation points
2026-07-19T05:33:30.13+00:00

We are migrating to Azure Kubernetes Service with Azure Application Gateway for Containers and we have the following use case:

Some of our clients use mTLS when calling our APIs, while others do not.

What we want to achieve is to have TLS termination at the Gateway level, and after that the certificate thumbprint/fingerprint to be passed downstream to the backend target(s) as a Request Header (because this is needed for a logic that the service has).

Is that achievable?

Based on the documentation specific here - I can't find anything that explains that so I would like to see if someone has any recommendations on if and how can this be achieved.

https://gateway-api.sigs.k8s.io/guides/user-guides/tls/

https://learn.microsoft.com/en-us/azure/application-gateway/for-containers/how-to-frontend-mtls-gateway-api?tabs=alb-managed

Thanks a lot in advance

Azure Kubernetes Service
Azure Kubernetes Service

An Azure service that provides serverless Kubernetes, an integrated continuous integration and continuous delivery experience, and enterprise-grade security and governance.

0 comments No comments

1 answer

Sort by: Most helpful
  1. Christos Panagiotidis 3,546 Reputation points
    2026-07-19T07:58:25.7433333+00:00

    With the currently documented Application Gateway for Containers features, mTLS termination and dynamic client-certificate header forwarding are separate capabilities. FrontendTLSPolicy can validate the client certificate, and access logs expose frontendTLSPeerFingerprint, but that fingerprint is not available as a request-header rewrite variable. The Gateway API RequestHeaderModifier can set static header values; it cannot populate a per-request thumbprint from the TLS session.

    Also, frontend mTLS on a listener requires a valid client certificate, so one listener cannot simultaneously make mTLS optional for some clients. Use separate hostnames/listeners: one HTTPS listener with FrontendTLSPolicy for mTLS clients and another normal HTTPS listener for other clients, both routing to the same service.

    If the backend must receive and validate the certificate or thumbprint, terminate mTLS in an in-cluster proxy/service mesh or use Application Gateway v2, which supports client-certificate server variables and rewrite rules. Never trust a client-supplied fingerprint header; strip it at the edge.

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.