Question description:
I have a web application on a server(we call it S1) behind a NAT whose public IP is not fixed. I want to expose the server so that others (clients) can visit it. A requirement of another server(call it S2) have a fixed public IP is ok, but I want that the client is connected to the server (S1) directly. Imaging that any connecting to S2 will be super-slow. If needed, one more server (S2) with a fixed IP is available (super-slow).
Expected answer:
A practice plan is OK, more details will be better. A persuasive argument that proves this is impossible is OK.
This is not an asked question:
The so-called asked question is about making a connection between two "known" devices (such as Behind NAT to behind NAT connection). The difference here is the connection is made between a server (S1) and a client. I have no idea who and when will connect to the server. So I need to expose S1. My consideration is that if there is a way to get an address pair of S1 (IP:port) and make a record on S2 (even IP:port is changing), then the client can find the destination from S2.