Bank provided a proxy server to call external API. Do I have to write the code for this or is there a module/microservice available?
Yes we have a microservice called ProxyConnector for this. You can connect to Infra/devOps team to get deployed.
Currently this microservice is designed to call all vahanahub API via proxy server.
I m curious, Why it is needed at all?
Why should we concern about proxy is there or not?
For a developer if an API is exposed directly or behind proxy it should not matter. Please explain.
In case of API provider, It does not matter at all. Because they exposed a URL and we just need to call that URL. We are not required to take care of what is happening behind that URL(ALB, Proxy etc).
Problem Statement:
Some Bank/Client not want to expose their application server identity(IP address) to the internet, for this they used proxy server for all public internet outgoing traffic.
Why this Proxy Connector Required?
Let take an example
- We have an API provider e.g. https://someapi.com/pan.
- Bank A allow outgoing traffic directly from application server. In this case no action required.
- Bank B not allow outgoing traffic from application server. They gives us a Proxy Server for all all outgoing traffic.
- In case of Bank B, Suppose the pan request come from mobile/web, first it land on Web Server, Then Web Server do their work and send the request to application server. Here Proxy Connector comes to the picture, because we can not directly access the https://someapi.com/pan. For this we need to redirect the traffic to Proxy server and Proxy server communicate with https://someapi.com/pan and return response to application server and application server return response to the end user.
Proxies provide a valuable layer of security for our application server. It hides the identity (IP address) of the application server. They can be set up as web filters or firewalls, protecting our application server from internet threats.