I have two web servers with public IPs, for example Server1 with IP 111.111.111.111 and Server2 with IP 222.222.222.222. Please see the picture:

There is an asp.net webform at Server 1. My intention is:
- For every http request to that webform in Server1, the Server1 just pass the request’s information to Server2 for logic processing and subsequently Server2 sends the response back to client (i.e. normal browser)
My questions are:
- What information that Server1 needs to pass to Server2, so that Server2 able to send response back to client? Please note that at Server2, there is a TcpListener instance. This TcpListener instance acting as receiver for that webform request information from Server1.
- What is the suitable object (i.e. the class in System.Net or related namespace such as System.Net.Sockets) at Server2 for sending response back to client? Suitable here means able to meet my intention.
Ok, this is a strange solution to that strange question 🙂
Basically I will assume the Client requests to an aspx web page as a QUESTION and the reply from Server as ANSWER. From the diagram, I will again assume that Server2 is the ANSWERER to that QUESTION.
In order for the Question and Answer session to work, and also due to internet behavior, I will implement it in a 2 steps process:
Step 1: Client ask question and Server1 returns the url of the answer. This url will be pointed on Server2. Server2 needs to pass this url via lan to Server1)
Step 2: Client makes request to retrieve the answer in Server2.
In summary, Client will directly request webform from Server1 and retrieve response from Server2. All operations are initiated by the Client.