The following is taken from OpenLayers FAQs about the ProxyHost setting
Why do I need a ProxyHost?
retrieve information from remote domains via an XMLHttpRequest.
Classes like WFS and GeoRSS use XMLHTTPRequest to get their data. If
they are querying a remote server (anything other than the machine
hosting your page), you must install a proxy script somewhere web
accessible on that machine. See below for how to set up your own
If the OpenLayers.ProxyHost variable is not set to a valid proxy host,
requests are sent directly to the remote servers. In most cases, the
result will be a security exception, although this exception often
occurs silently. How do I set up a ProxyHost?
An example proxy host script is available here:
For the standard Apache configuration, you would place proxy.cgi into
your /usr/lib/cgi-bin/ directory.
Once a proxy host script has been installed, you must then edit the
OpenLayers.ProxyHost variable to match that URL.
Given the above standard Apache configuration:
OpenLayers.ProxyHost = "/cgi-bin/proxy.cgi?url=";
If you have done something like this, you should be able to visit:
The resulting content at that page should be the openlayers.org
If you get a 404 error instead, either the proxy script is not in the
right location, or your webserver is not configured correctly.
A sample proxy.cgi file can be found here
If you are using something like tomcat/jetty for your web server, then you will probably use a jsp for the proxy file, an example proxy.jsp file can be found here