[mapserver-users] Internal Server Error / proxy.cgi

Simone Lella lella.s at irea.cnr.it
Thu Sep 23 05:13:38 EDT 2010


  Hi,

I'm using MS4W with Windows 7.
When I call "http://localhost:8081/cgi-bin/proxy.cgi", the response is:

/Internal Server Error
/

/The server encountered an internal error or misconfiguration and was 
unable to complete your request./

/Please contact the server administrator, admin at local.domain and inform 
them of the time the error occurred, and anything you might have done 
that may have caused the error./

/More information about this error may be available in the server error log.
/


The "error.log" file contains:

/[Thu Sep 23 09:49:43 2010] [warn] PassEnv variable PYTHONPATH was undefined
[Thu Sep 23 09:49:43 2010] [notice] Apache/2.2.10 (Win32) configured -- 
resuming normal operations
[Thu Sep 23 09:49:43 2010] [notice] Server built: Oct 10 2008 12:39:04
[Thu Sep 23 09:49:43 2010] [notice] Parent: Created child process 2932
[Thu Sep 23 09:49:43 2010] [warn] PassEnv variable PYTHONPATH was undefined
[Thu Sep 23 09:49:44 2010] [warn] PassEnv variable PYTHONPATH was undefined
[Thu Sep 23 09:49:44 2010] [notice] Child 2932: Child process is running
[Thu Sep 23 09:49:44 2010] [notice] Child 2932: Acquired the start mutex.
[Thu Sep 23 09:49:44 2010] [notice] Child 2932: Starting 64 worker threads.
[Thu Sep 23 09:49:44 2010] [notice] Child 2932: Starting thread to 
listen on port 8081.
[Thu Sep 23 09:50:13 2010] [error] [client 127.0.0.1] (OS 2)Impossibile 
trovare il file specificato.  : couldn't create child process: 720002: 
proxy.cgi
[Thu Sep 23 09:50:13 2010] [error] [client 127.0.0.1] (OS 2)Impossibile 
trovare il file specificato.  : couldn't spawn child process: 
C:/ms4w/Apache/cgi-bin/proxy.cgi/


The "proxy.cgi" file was created in "C:/ms4w/Apache/cgi-bin/proxy.cgi" 
and I've copied into the following text:

/#!/usr/bin/env python

"""This is a blind proxy that we use to get around browser
restrictions that prevent the Javascript from loading pages not on the
same server as the Javascript.  This has several problems: it's less
efficient, it might break some sites, and it's a security risk because
people can use this proxy to browse the web and possibly do bad stuff
with it.  It only loads pages via http and https, but it can load any
content type. It supports GET and POST requests."""

import urllib2
import cgi
import sys, os

# Designed to prevent Open Proxy type stuff.

allowedHosts = ['www.openlayers.org', 'openlayers.org',
                 'labs.metacarta.com', 'world.freemap.in',
                 'prototype.openmnnd.org', 'geo.openplans.org',
                 'sigma.openplans.org', 'demo.opengeo.org',
                 'www.openstreetmap.org', 'sample.azavea.com',
                 'v-swe.uni-muenster.de:8080',
                 'vmap0.tiles.osgeo.org','localhost:8081']

method = os.environ["REQUEST_METHOD"]

if method == "POST":
     qs = os.environ["QUERY_STRING"]
     d = cgi.parse_qs(qs)
     if d.has_key("url"):
         url = d["url"][0]
     else:
         url = "http://www.openlayers.org"
else:
     fs = cgi.FieldStorage()
     url = fs.getvalue('url', "http://www.openlayers.org")

try:
     host = url.split("/")[2]
     if allowedHosts and not host in allowedHosts:
         print "Status: 502 Bad Gateway"
         print "Content-Type: text/plain"
         print
         print "This proxy does not allow you to access that location 
(%s)." % (host,)
         print
         print os.environ

     elif url.startswith("http://") or url.startswith("https://"):

         if method == "POST":
             length = int(os.environ["CONTENT_LENGTH"])
             headers = {"Content-Type": os.environ["CONTENT_TYPE"]}
             body = sys.stdin.read(length)
             r = urllib2.Request(url, body, headers)
             y = urllib2.urlopen(r)
         else:
             y = urllib2.urlopen(url)

         # print content type header
         i = y.info()
         if i.has_key("Content-Type"):
             print "Content-Type: %s" % (i["Content-Type"])
         else:
             print "Content-Type: text/plain"
         print

         print y.read()

         y.close()
     else:
         print "Content-Type: text/plain"
         print
         print "Illegal request."

except Exception, E:
     print "Status: 500 Unexpected Error"
     print "Content-Type: text/plain"
     print
     print "Some unexpected error occurred. Error text was:", E/


I've modified "proxy.cgi" file at "allowedHosts" by adding "localhost:8081".

I must modify the first row of "proxy.cgi" file?
Can this issue related to the Windows 7 OS?


Thanks

Simone


  *_
  _*



-- 
Simone Lella
Istituto per il Rilevamento Elettromagnetico dell'Ambiente
IREA - CNR (http://www.irea.cnr.it)
Via Bassini, 15
Tel. +39 02-23699299
Milano

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-users/attachments/20100923/af5563e1/attachment.html


More information about the mapserver-users mailing list