What is HTTP Tunneling (Port Filtering Firewalls)?
To get across a firewall, the transport layer embeds an RMI call within the firewall-trusted HTTP protocol. The RMI call data is sent outside as the body of an HTTP POST request, and the information returned is sent back in the body of the HTTP response.
The transport layer formulates the POST request in the following ways:
- If the firewall proxy forwards an HTTP request to an arbitrary port on the host machine, then it is forwarded directly to the port on which the RMI service is listening. The default RMI transport layer listens on a server socket that understands and decodes RMI calls inside POST requests.
- If the firewall proxy forwards HTTP requests to well-known HTTP ports, then it is forwarded to the HTTP server listening on port 80 of the host machine, and a CGI script forwards the request to the target RMI server port on the same machine.
Related Topics: