Detecting a reverse proxy and establishing a tunneled connection therethrough
View Patent ↗A method, system and apparatus for managing an interposed reverse proxy. The method can include comparing within a markup language document, a host address for the markup language document and a codebase address for a code base supporting logic disposed within the markup language document. If the host address and the codebase address differ, it can be concluded that a reverse proxy has obscured from view a server source of the markup language document. The method of the invention further can include retrieving a server affinity identifier for the server source from the configuration tags for the logic. Responsive to concluding that a reverse proxy has obscured from view a server source of the markup language document, a tunneled connection to the server source can be attempted through the reverse proxy by inserting the server affinity identifier in an address specified in the attempt.
1. A method for managing an interposed reverse proxy comprising the steps of:
comparing within a markup language document, a host address for said markup language document and a codebase address for a code base supporting logic disposed within said markup language document;
if said host address and said codebase address differ, concluding presence of a reverse proxy obscuring from view a server source of said markup language document;
retrieving a server affinity identifier for said server source; and
responsive to said conclusion, attempting a tunneled connection to said server source through said reverse proxy by inserting said server affinity identifier in an address specified in said attempt.
2. The method of claim 1 , wherein said retrieving step further comprises the step of locating said server affinity identifier within a tag disposed within said applet.
3. The method of claim 1 , wherein said attempting step comprises the steps of:
combining an address for said reverse proxy with said server affinity identifier and a string specifying a particular desired resource within said server source;
forming a hypertext transfer protocol (HTTP) compliant request using said combined address;
encapsulating non-HTTP data within said HTTP compliant request; and,
forwarding said HTTP compliant request to said reverse proxy.
4. A machine readable storage having stored thereon a computer program for managing an interposed reverse proxy, the computer program comprising a routine set of instructions for causing the machine to perform the steps of:
comparing within a markup language document, a host address for said markup language document and a codebase address for a code base supporting logic disposed within said markup language document;
if said host address and said codebase address differ, concluding presence of a reverse proxy obscuring from view a server source of said markup language document;
retrieving a server affinity identifier for said server source; and,
responsive to said conclusion, attempting a tunneled connection to said server source through said reverse proxy by inserting said server affinity identifier in an address specified in said attempt.
5. The machine readable storage of claim 4 , wherein said retrieving step further comprises the step of locating said server affinity identifier within a tag disposed within said applet.
6. The machine readable storage of claim 4 , wherein said attempting step comprises the steps of:
combining an address for said reverse proxy with said server affinity identifier and a string specifying a particular desired resource within said server source;
forming a hypertext transfer protocol (HTTP) compliant request using said combined address;
encapsulating non-HTTP data within said HTTP compliant request; and,
forwarding said HTTP compliant request to said reverse proxy.