We have a business requirement to channel all outgoing connections from multiple processing servers through a single IP address.
Our setup is as follows:
We have an nginx server which works as a load balancer for incoming http requests. We then have multiple web servers, which connect to processing servers which in turn connect to our customers databases.
Client --> Loadbalancer --> Web servers --> Process servers --> Database
Client <-- Loadbalancer <-- Web servers <-- Process servers <-- Database
Currently, we provide our customers a list of IP addresses that they should add to their database whitelist. However, as we scale this whitelist will become longer and our customers in turn would need to again update their whitelist respectively.
To work around this, we would like to channel all outgoing connections through another nginx server, which would mask the IP addresses of our processing servers. In turn, we would now only have one IP address that our customers would whitelist.
Client --> Loadbalancer --> Web servers --> Process servers --> IP Masking --> Database
Client <-- Loadbalancer <-- Web servers <-- Process servers <-- IP Masking <-- Database
Is this possible solely with nginx, if so, what steps would we need to take to achieve this?