How To Install Cgi Proxy

Posted on
Active5 years, 9 months ago

I want to setup a proxy for openlayers to use so I followed these steps:

  1. Be warned that OpenLayers warns that its proxy.cgi is only an example and may not have good enough check to stop it from being exploited, i.e. It may run some malicious script. If you are serving your OpenLayers client page on Tomcat alone and it contains layers from other GeoServer or Mapserver, you can use proxy servlet and specify it as.
  2. Once I can actually getting it to recognize the website, then I will want to get the CGI Service running. Any detailed information on that process would be greatly appreciated. (I had actually got CGI Service working years ago on Windows XP with the service routine written in AcuCobol-GT, and am hoping to do the same now on Windows 10.
  1. Downloaded the proxy.cgi file from the OpenLayers web site: http://trac.osgeo.org/openlayers/browser/trunk/openlayers/examples/proxy.cgi

  2. Modify the proxy.cgi file to include my domain in the allowedHosts list:

    allowedHosts = ['localhost:6901']

  3. Copy the proxy.cgi file to the following folder:

    $TOMCAT_PATH$/webapps/yourApp/WEB-INF/cgi/

  4. Modify the file web.xml of your web app by adding the sections below. You find the file at

    $TOMCAT_PATH$/webapps/yourApp/WEB-INF/web.xml

Comment: In case the web.xml file doesn’t exist for your webapp, just create it yourself or copy it from another webapp and modify it. (created!)

How

Comment: the “param-value” for the “executable” parameter has to contain the path to your Python installation. (it does!)

Be warned that OpenLayers warns that its proxy.cgi is only an example and may not have good enough check to stop it from being exploited, i.e. It may run some malicious script. If you are serving your OpenLayers client page on Tomcat alone and it contains layers from other GeoServer or Mapserver, you can use proxy servlet and specify it as.

  1. Modify the file context.xml of your web app by adding the element below. You find the file at $TOMCAT_PATH$/webapps/yourApp/META-INF/context.xml

  2. Restart Tomcat

  3. To use the proxy with OpenLayers, just include this single line into your code:

    OpenLayers.ProxyHost = '/yourWebApp/cgi-bin/proxy.cgi?url=';

But when I try to use it like:

Use

How To Install Cgi Proxy In Chrome

I get this error:

I think its related with os.environ['REQUEST_METHOD'] but I dont know how its related ..

Zero Piraeus
33.4k20 gold badges112 silver badges132 bronze badges
Pedro MendesPedro Mendes

3 Answers

You're asking for an environment variable that isn't defined.

You need to either catch and handle the exception or use os.environ.get:

Or:

stderrstderr
7,4101 gold badge28 silver badges49 bronze badges

You're submitting :

But the proxy.cgi script is trying to do this:

Try http://labs.metacarta.com for your url so proxy.cgi has some slashes to split on, or modify it to parse the url a little smarter.

Marc PfisterMarc Pfister

The answer is: You don't install or use cgi proxy on Tomcat.

cgi is for apache server or IIS that are used as a front-end server. Tomcat may sit behind it. The configuration of Apache is detailed in: http://tomcat.apache.org/tomcat-6.0-doc/proxy-howto.html

Be warned that OpenLayers warns that its proxy.cgi is only an example and may not have good enough check to stop it from being exploited, i.e. it may run some malicious script.

If you are serving your OpenLayers client page on Tomcat alone and it contains layers from other GeoServer or Mapserver, you can use proxy servlet and specify it as:

OpenLayers.ProxyHost = 'sevlet URL on the server that served this page';

There are reverse proxy or rewrite sevlet solutions to it, too. Please Google on these.

YoichiYoichi
11.7k2 gold badges14 silver badges11 bronze badges

Not the answer you're looking for? Browse other questions tagged pythonmoduleenvironment or ask your own question.

This is an example of how to configure Caddy for CGI with a FastCGI wrapper for CGI scripts. You may wish to use the CGI plugin instead.

1. Clone this repository.

2. Download a Caddy binary appropriate for your OS and CPU architecture from https://caddyserver.com/download. Put it in the repository directory as the file caddy and make it executable. To do this on x86-64 Linux run

3. Install the required CPAN modules. In many cases, you can do it from the interactive CPAN shell.

4. Start Caddy and fastcgi-wrapper with

and go to http://localhost:8081/cgi-bin/test.pl.

On desktop Linux you can instead use the command

To stop both Caddy and fastcgi-wrapper press Ctrl-C.

  • fastcgi-wrapper-daemon by Denis S. Filimonov (direct download link)
  • fastcgi-wrapper by Denis S. Filimonov and Lewin Bormann