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, ad...@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

_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to