Application Gateway for Containers (AGC) — unable to remove/override Server: Microsoft-Azure-Application-LB/AGC response header

Michael Vivet 40 Reputation points
2026-07-14T08:55:35.89+00:00

Environment:

  • Application Gateway for Containers (Gateway API, gatewayClassName: azure-alb-external)
  • ALB Controller managed deployment
  • HTTPRoute on both HTTP (port 80, redirect) and HTTPS (port 443) listeners

Issue: All responses through AGC include Server: Microsoft-Azure-Application-LB/AGC in the response headers. I'm trying to remove or override this header for security/pentest compliance reasons, but neither remove nor set via ResponseHeaderModifier has any effect on it.

What I've tried:

  1. Removing the header:
filters:
  - type: ResponseHeaderModifier
    responseHeaderModifier:
      remove:
        - Server
  1. Overriding the value
filters:
  - type: ResponseHeaderModifier
    responseHeaderModifier:
      set:
        - name: Server
          value: "N/A"

Both were applied to the HTTPRoute bound to the HTTPS listener (sectionName: https), and the route confirmed Accepted/Programmed status. Neither had any effect — the header is still returned unmodified. I also tested on the HTTP - HTTPS redirect route (RequestRedirect filter) with the same result.

Question:

Is Server header removal/override supported on AGC via ResponseHeaderModifier, given it appears to be injected at the edge/frontend layer rather than coming from the backend response? If not, is this on the roadmap, and is there any supported workaround (e.g., via SecurityPolicy/WAF or another mechanism)?

For context: I'm aware this is a known, unresolved limitation on classic Application Gateway V2 (rewrites don't apply to gateway-generated responses — ref), but I haven't found equivalent documentation confirming this for AGC specifically.

Azure Application Gateway
Azure Application Gateway

An Azure service that provides a platform-managed, scalable, and highly available application delivery controller as a service.


1 answer

Sort by: Most helpful
  1. Christos Panagiotidis 3,301 Reputation points
    2026-07-14T16:45:24.3233333+00:00

    Hi, the Microsoft-Azure-Application-LB/AGC Server header is added by the managed Application Gateway for Containers data plane, so a backend response-header rewrite may not be able to remove or replace it if AGC adds it after your rule runs. Confirm the current AGC rewrite/header-modification support matrix for your API version, but do not rely on an undocumented ordering trick. If removing that header is a hard security or compliance requirement, put a component that supports response-header removal in front of or behind AGC, such as an application proxy, APIM, or a supported edge service, and validate the final response externally. I would also open a product support request with the ALB controller and Gateway API versions so Microsoft can confirm whether header suppression is supported or planned.

    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.