An Azure service that provides a platform-managed, scalable, and highly available application delivery controller as a service.
Application Gateway can still accept the request if another listener is matching it as a catch-all or wildcard listener and that listener’s rule routes to the training backend pool.
The behavior shown matches these documented cases:
- A multi-site listener with no hostname acts as a catch-all
If a listener is configured without ahostName, it matches any hostname not matched by other listeners. - A wildcard listener can match before a more specific listener
If a wildcard listener has higher priority than the intended specific listener, traffic is routed by the wildcard listener’s rule. - Rules/listeners are what determine the backend pool
Application Gateway evaluates the listener and associated routing rule, then sends the request to the backend pool selected by that rule.
To prevent this:
- In Application Gateway > Listeners, check for:
- any listener with a blank hostname
- any wildcard listener such as
*.domain.com - duplicate listeners on the same port
- listeners on the wrong port that might still be matching traffic
- In Application Gateway > Rules, verify that:
- the hostname being tested maps only to the intended listener
- no wildcard or catch-all listener has a higher priority than the specific listener
- no remaining rule still points to the
trainingbackend pool
- If the request is going to the wrong backend because of listener matching:
- give the intended specific listener a higher precedence by using the correct priority
- remove or correct any catch-all listener if it is not intentional
- If the backend is a multitenant PaaS target such as App Service, Azure Functions, or similar FQDN-based backend, also verify the HTTP settings
Hostheader behavior. A wrong host header can make the request appear to land on the wrong app or return the wrong content. - Check access logs to confirm which listener actually handled the request:
- if
listenerName_sis not the expected listener, it is a listener priority or catch-all/wildcard match issue - if
listenerName_sshows the wildcard or catch-all listener, fix listener priority/configuration
- if
If all listener priorities and hostnames are correct but the problem persists, file an Azure support request.
References: