When calling backend apis through Azure API management it appears that the IP of the original caller is by default passed through to the backend service. Is there a way to instead make the call from the static IP of the gateway itself? In other words, can we proxy the calls through the gateway and make it appear as if the backend call originated there?
That way the service would see the call as coming from the gateway rather than the original client.
When APIM makes call to backend the only information about the client IP in the request is in X-Forwarded-For header. The actual source IP address for the call is APIM's one and cannot be anything else. Not unless you want to put a proxy between APIM and backend. IF that's what you want you're free to do so by using any network level means (might be easier in VNET), or by using proxy policy.