@goofygdog,
A few options for you to consider:
1. API Management
You can use Azure API Management, which quickly provides an API Gateway directly in front of your Web App (so sits between System A and System B).
API Management also has a static public IP Address.
https://azure.microsoft.com/en-gb/updates/azure-api-management-now-supports-integration-with-azure-app-service/
https://learn.microsoft.com/en-us/azure/api-management/get-started-create-service-instance
Furthermore, if you do find that you ever need the originating IP address of System A, you can pass this to your backend using HTTP headers.
API Management can be expensive though - depending on the scaling and performance needs of your service, so take this into consideration if this is a concern.
2. NGINX Reverse Proxy
An alternative approach is that you can deploy a second app service/container, which runs NGINX and can perform the work of a reverse proxy, and which sits directly in front of your System B. This is more involved, but will give you greater control.
The following example describes setting up a reverse proxy to forward requests to a .NET Core 3.1 app, but the principle is the same with any backend service.
https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/linux-nginx?view=aspnetcore-3.1
Regards,
Matt.