banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 17 June 2010 09:50

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Mapserver - Openlayers Problème de proxy

Bonjour,

Il ne me manque plus que cette pierre à mon édifice pour que mon serveur fonctionne, malheureusement en local ou sur le réseau tout se passe bien mais dès que je tente d'ouvrir une couche WFS par le web j'ai cette erreur avec firebug:

500 Internal Server Error


Quand j'ouvre les log de apache j'ai cette erreur :

[client 192.168.0.254] (13) Permission denied: exe of '/usr/lib/cgi-bin/proxy.cgi' failed,


Client 192.168.0.254 étant ma freebox

pourtant j'ai bien déclarés mon site dans proxy.cgi :

allowedHosts = ['www.monsite.com']


Je ne comprends pas

Merci

Hors ligne

 

#2 Thu 17 June 2010 10:15

Lionel B
Participant actif
Lieu: Macon
Date d'inscription: 5 Sep 2005
Messages: 83

Re: Mapserver - Openlayers Problème de proxy

Bonjour,

et avec un
chmod +x /usr/lib/cgi-bin/proxy.cgi
?

Hors ligne

 

#3 Thu 17 June 2010 11:02

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Mapserver - Openlayers Problème de proxy

Merci pour la réponse.

Ça ne fonctionne toujours pas.

Hors ligne

 

#4 Thu 17 June 2010 11:32

Lionel B
Participant actif
Lieu: Macon
Date d'inscription: 5 Sep 2005
Messages: 83

Re: Mapserver - Openlayers Problème de proxy

le message d'erreur est toujours le même ?

Hors ligne

 

#5 Thu 17 June 2010 11:49

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Mapserver - Openlayers Problème de proxy

Non une nouvelle erreur est apparue :

[client 192.168.0.254] (8)Exec format error:


J'ai trouvés sur le net qu'il fallait supprimer le ScriptAlias pour ne laisser que Alias :


Depuis apache ne semble plus lancer d' erreur mais ma carte ne s'affiche plus, mêmes pas mes couches WMS, alors qu'elle s'affichait avant. A la place j'ai des dalles roses. Firebug met à coté de l'adresse, qui est en noir et plus en rouge,

304 Not Modified
        155


Voici mon proxy.cgi

Code:

!/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.monsite.com', '192.168.0.11', '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']
     
     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

Merci

Dernière modification par geobrie (Thu 17 June 2010 11:53)

Hors ligne

 

#6 Thu 17 June 2010 11:50

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: Mapserver - Openlayers Problème de proxy

Bonjour,

Je ne comprend pas pourquoi l'ip de votre Freebox apparait dans les logs. Quelle est l'architecture de votre appli ? Le client et le serveur sont sur le même serveur ? Tu tentes d'utiliser un service WFS extérieure ?

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#7 Thu 17 June 2010 11:58

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Mapserver - Openlayers Problème de proxy

Bonjour,

Le service WFS que j'utilise est chez moi, mon serveur est connecté sur la freebox et mes clients sont connecter sur un routeur netgear qui est branché à la freebox et qui gère un disque dur externe de données accessible au réseau. Mais même quand je connecte un client directement sur la freebox le résultat est le même.

Hors ligne

 

#8 Fri 18 June 2010 19:04

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Mapserver - Openlayers Problème de proxy

Bonsoir,

Sur ce coup j'ai vraiment besoin d'aide car je suis coincés et tout le travail en amont n'est pas valorisé. J'ai fouiné sur le net, mais il n'y a pas de réel tuto, il n'y que des bride de solution qui apparemment ne fonctionne pas chez moi.

Un grand merci pour votre aide future.

Hors ligne

 

#9 Fri 18 June 2010 21:27

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 Sep 2005
Messages: 947
Site web

Re: Mapserver - Openlayers Problème de proxy

Bonjour,

Un schéma en PJ qui résume ce que j'ai compris de votre architecture.
Merci de préciser où sont les incompréhensions dans le schéma et où sont les problèmes.
En espérant qu'on comprenne mieux pour pouvoir vous aider wink

[img]http://georezo.net/forum/attachment.php?item=3626&download=1[/img]

Cordialement

ThomasG

Dernière modification par ThomasG (Fri 18 June 2010 21:28)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#10 Sat 19 June 2010 11:26

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Mapserver - Openlayers Problème de proxy

Merci pour ce travail

Quand je tape l'adresse il me retourne le script proxy.cig ????
[img]Schemat serveur web[/img]

Dernière modification par geobrie (Sat 19 June 2010 12:30)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#11 Sat 19 June 2010 11:38

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 Sep 2005
Messages: 947
Site web

Re: Mapserver - Openlayers Problème de proxy

Bonjour,

Quand je tape l'adresse il me retourne le script proxy.cig ????


Vous tapez l'adresse depuis quelle poste dans le schéma que j'ai fait? Quelle url tapez vous ?

Pouvez-vous aussi confirmer l'architecture? J'ai mis des points d'interrogation là où je ne suis pas sûr d'avoir compris.

Merci

ThomasG

Dernière modification par ThomasG (Sat 19 June 2010 11:38)

Hors ligne

 

#12 Sat 19 June 2010 12:33

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Mapserver - Openlayers Problème de proxy

Je n'ai pas été assez rapide, voici mon infrastructure :

En local tout fonctionne bien et même sur le réseau local c'est à dire http://192.168.0.11/

Mais pas sur le web c'est à dire http://www.monsite.com.

Dernière modification par geobrie (Sat 19 June 2010 12:37)


Fichier(s) joint(s) :
Pour accéder aux fichiers vous devez vous inscrire.

Hors ligne

 

#13 Sat 19 June 2010 12:53

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: Mapserver - Openlayers Problème de proxy

Bonjour,

Pouvez-vous essayer en rajoutant l'IP public dans les hosts autorisé ?

Il y a un truc qui me chiffone, si le proxy et le service WFS sont sur la même machine, le proxy est inutil non ?

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#14 Sat 19 June 2010 12:58

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Mapserver - Openlayers Problème de proxy

Dès que j'enlève le proxy ça ne marche quand local et pas par le web. Ça ne pourrait pas venir de mon fournisseur d'adresse web  (domaine.fr) qui bloque sachant que chez lui je suis en navigation "secrète", il cache mon ip web et toute les adresses de mes pages web ?

Dernière modification par geobrie (Sat 19 June 2010 13:17)

Hors ligne

 

#15 Sat 19 June 2010 13:24

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Mapserver - Openlayers Problème de proxy

Bonjour y,

Yves a écrit:

B
Pouvez-vous essayer en rajoutant l'IP public dans les hosts autorisé ?
Y.


A quel niveau parce que  elle est déjà autorisée dans mon hosts ?

Dernière modification par geobrie (Sat 19 June 2010 13:25)

Hors ligne

 

#16 Sat 19 June 2010 13:48

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Mapserver - Openlayers Problème de proxy

Donc j'ai refais un test en retirant le proxy.cgi.

En local pas de soucis toutes mes couches sont visible avec mes infobulle pour la couche WFS mais par l'adresse web je n'ai plus que la couche WMS avec cette erreur :

<wfs:FeatureCollection xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd                         http://mapserver.gis.umn.edu/mapserver http://192.168.0.11/cgi-bin/mapserv?map … ">

<gml:boundedBy>

<gml:Box srsName="EPSG:27582">

<gml:coordinates>
561094.254193,2387088.672278 769187.462242,2613651.163595
</gml:coordinates>
</gml:Box>
</gml:boundedBy>

<!--
WARNING: FeatureId item 'NAME' not found in typename 'lots'.
-->

Hors ligne

 

#17 Sat 19 June 2010 13:51

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Mapserver - Openlayers Problème de proxy

Rectification l'erreur annoncée apparait quand même en locale, ça ne doit pas être lié au problème d'affichage, apparemment j'ai deux problèmes. Malgré cette erreur, en locale tout marche correctement.

A quoi correspond la valeur FeatureId ? Dans mon script elle resemble à ça :

"gml_featureid" "NAME"


La valeur "NAME" est elle générique ou doit elle correspondre à une valeur précise dans ma base de donnée ?

Quand j'analyse Firebug dans l'entête:

Ça sa ne passe pas :

Host    192.168.0.11
User-Agent    Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language    fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding    gzip,deflate
Accept-Charset    ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive    115
Connection    keep-alive
Referer    http://83.241.100.150/htdocs/openlayers.html
Origin    http://83.241.100.150


Et ça sa passe :

Host    192.168.0.11
User-Agent    Mozilla/5.0 (Windows; U; Windows NT 6.1; fr; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept    text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language    fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding    gzip,deflate
Accept-Charset    ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive    115
Connection    keep-alive
Referer    http://192.168.0.11/htdocs/openlayers.html


Ça vient peut être de postgreSQL car la couche WFS à des droit que n'a pas la couche WMS ?

Dernière modification par geobrie (Sat 19 June 2010 14:54)

Hors ligne

 

#18 Sat 19 June 2010 16:57

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Mapserver - Openlayers Problème de proxy

Une petite idée du problème ?

Hors ligne

 

#19 Sat 19 June 2010 21:49

ThomasG
Membre
Lieu: Nantes
Date d'inscription: 9 Sep 2005
Messages: 947
Site web

Re: Mapserver - Openlayers Problème de proxy

Bonjour,

Pour moi,

Code:

"gml_featureid" "clé_primaire"

Généralement, la clé primaire est gid si vous êtes sous PostreSQL/Postgis sinon la clé pour un SHP dépend de votre structure (et est en majuscule dans mes souvenirs)
NAME n'est pas générique à ma connaissance.

Cordialement

ThomasG

Hors ligne

 

#20 Sun 20 June 2010 11:26

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Mapserver - Openlayers Problème de proxy

Bonjour,

Merci, je vais tenté de créer cette clé primaire pour ma table, ça réglera déjà un problème. Après je m'attaquerais aux problème d'accès de mes couches WFS par le Web. Pouvais vous me confirmer que ayant toute sur le serveur (les Mapfils, les script openLayers et les tables postgreSQL) je n'ai pas besoin de proxy ?

Merci

Hors ligne

 

#21 Mon 21 June 2010 06:40

geobrie
Participant actif
Date d'inscription: 31 Jan 2010
Messages: 120

Re: Mapserver - Openlayers Problème de proxy

Bonjour,

Je penses avoir résolu mon problème. Comme souvent la solution était devant mes yeux, il suffisait de remplacer l'adresse réseau locale par l'adresse réseau publique dans le script OpenLayers et dans le Mapfil. J'ai testés chez moi par l'adresse web (www.monsite.com) et ça marche, je n'ai plus qu'a confirmer en testant à l'extérieur, mais je penses que c'est la solution. Je vous remercie pour toute votre aide qui m'a permis de mieux comprendre mon projet et d'en arriver là, je vous tient au courant de mais tests extérieurs.

A bientôt

Hors ligne

 

Pied de page des forums

Powered by FluxBB