Proxy Gateway Support in NCSA Mosaic for the X Windowing System

This document will describe how to set up NCSA Mosaic for the X Windowing System to use proxy gateways. Note: proxy gateways are currently only supported in Mosaic version 2.2 and later.

What is a Proxy Gateway?

A proxy gateway allows Mosaic to pass on a network request (in the form of a URL) to an outside agent which will perform the request for Mosaic, and return the results to Mosaic. The intended effect of this is to allow Mosaic clients that are sealed off from the internet to pass their network requests off to a trusted agent that can access the internet for Mosaic. A user of a Mosaic client using a proxy gateway should feel as if they were directly connected to the internet.

How is it Implemented?

Proxy gateways in Mosaic are expected to talk the HTTP/1.0 protocol. The URL that Mosaic wants to access is passed to the proxy in the form of an HTTP/1.0 GET request. The proxy then accesses the URL, and returns its results back to Mosaic.

Proxy gateways are currently implemented on a per access method basis. This means each URL access method can send its requests to a different proxy. The current access methods are ftp, gopher, wais, news, and http.

Mosaic is assigned proxy gateways through X Resources and shell environment variables. Environment variables override X Resources in this case. The X Resources are:

They all share the same resource class, so by setting Mosaic*ProxyGateway all access methods will use that proxy.

The environment variables are:

Where do I get a Proxy Gateway?

Not surprising, since client support for proxy gateways has just come out, there aren't a lot of proxy gateways out there. Since proxy gateways are expected to be used to pass through firewalls, you need to Trust your proxy gateway, the best way to get a gateway you trust is to write it yourself.

Ari Luotonen at CERN has put proxy gateway support into the latest version of the CERN httpd, so you can now use the CERN httpd as a proxy gateway.

Now that we have CGI, hopefully someone will write a proxy gateway CGI module, and then you can turn your favorite HTTP server into a proxy gateway.

Note:

Everything about proxy gateways in Mosaic is still in the Beta-Test phase (including this document). Send questions/problems to:

ebina@ncsa.uiuc.edu