I have Azure Application Gateway and API Management configured in this setup https://learn.microsoft.com/en-us/azure/api-management/api-management-howto-integrate-internal-vnet-appgateway - Application Gateway is the public endpoint and only defined routes are passed through to API Management.
I want to use the ip-filter
policy to restrict calls to certain IP addresses. However when calls are coming through Application Gateway, the original client IP address is lost or obfuscated to IP 0.0.0.0
.
Is there a way to keep the original client IP address and pass it through from Application Gateway to API Management?
Does Application Gateway support multiple public IPs on the gateway? An application gateway supports only one public IP address.
Both do behave like a reverse proxy, APIM provides a policy framework to manipulate requests both inbound and outbound, along with features such as rate limiting and conditional caching. While Application Gateway has more features in terms of rewriting and manipulating traffic on an HTTP protocol stack.
Using the Azure portal, protect an API with Azure AD by first registering an application that represents the API. For details about app registration, see Quickstart: Configure an application to expose a web API. In the Azure portal, search for and select App registrations. Select New registration.
Application Gateway V2 currently does not support only private IP mode. It supports the following combinations: Private IP address and public IP address.
You might find this article useful: https://learn.microsoft.com/en-us/azure/application-gateway/how-application-gateway-works#modifications-to-the-request
An application gateway inserts four additional headers to all requests before it forwards the requests to the backend. These headers are x-forwarded-for, x-forwarded-proto, x-forwarded-port, and x-original-host. The format for x-forwarded-for header is a comma-separated list of IP:port.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With