WMS-Dienst über https+Proxy einbinden

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

WMS-Dienst über https+Proxy einbinden

Ronald Woita
Hallo Liste,

habe mal ein Problem, dass den Mapbender zwar nur am Rande streift, aber
vielleicht hat ja jemand eine Lösung.

Ich möchte einen WMS-Dienst über https einbinden. Der Webserver muß
dazu über einen Proxy die Verbindung herstellen. Die brauch ich, damit
Mapbender die Capabilities auslesen kann.

Das Problem mit der https-Verbindung habe ich lösen können.
Dazu muß php mit der Option --with-openssl kompiliert werden.

Aber wie bringe ich php bei, den Proxy zu benutzen ?


Danke

Ronald Woita


--
Ronald Woita
Hansestadt Rostock
Kataster-, Vermessungs- und Liegenschaftsamt
Holbeinplatz 14, 18069 Rostock
email: [hidden email]
phone: +49 (0)381 - 381 6256



-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Mapbender-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mapbender-users
Reply | Threaded
Open this post in threaded view
|

Re: WMS-Dienst über https+Proxy einbinden

Michael Schulz
Hallo,

habe dasselbe Problem gehabt: die php fopen-wrapper reagieren leider
nicht auf eingestellte Proxies.

Laut php-Liste ist das in php5 teilweise behoben, indem man dem fopen
ein context-array mitgeben kann, dass z.B. proxy-einträge enthält.

Für php Version 4.x kann man statt fopen() die php-curl funktionen
nutzen. Diese beachten die eingestellten http_proxy bzw. no_proxy
environment variablen. Dazu müsste man dann die class_wms.php ändern -
ist für mich momentan ein lokaler workaround (habe bisher keine
unerwünschten Effekte beobachtet):

class_wms.php:56:

$data = implode("",file($url)) or die("<br><b>unable to open file:
</b>".$url);

ersetzt durch:

if (extension_loaded("curl") && isset($_ENV["http_proxy"])) {
    // a http_proxy is set from the environment, very good
    $ch = curl_init ($url);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    $file = curl_exec ($ch);
    curl_close ($ch);
    $data = $file or die("<br><b>unable to open resource via curl:
</b>".$url);
} else {
    $data = implode("",file($url)) or die("<br><b>unable to open file:
</b>".$url);
}

Ansonsten besteht natürlich auch immer die Möglichkeit das
Capabilities-XML lokal einzubinden. Die ändern sich ja nicht so häufig
(hoffentlich).

HTH, Michael


Ronald Woita schrieb:

> Hallo Liste,
>
> habe mal ein Problem, dass den Mapbender zwar nur am Rande streift, aber
> vielleicht hat ja jemand eine Lösung.
>
> Ich möchte einen WMS-Dienst über https einbinden. Der Webserver muß
> dazu über einen Proxy die Verbindung herstellen. Die brauch ich, damit
> Mapbender die Capabilities auslesen kann.
>
> Das Problem mit der https-Verbindung habe ich lösen können.
> Dazu muß php mit der Option --with-openssl kompiliert werden.
>
> Aber wie bringe ich php bei, den Proxy zu benutzen ?
>
>
> Danke
>
> Ronald Woita
>
>
> --
> Ronald Woita
> Hansestadt Rostock
> Kataster-, Vermessungs- und Liegenschaftsamt
> Holbeinplatz 14, 18069 Rostock
> email: [hidden email]
> phone: +49 (0)381 - 381 6256
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by:
> Power Architecture Resource Center: Free content, downloads, discussions,
> and more. http://solutions.newsforge.com/ibmarch.tmpl
> _______________________________________________
> Mapbender-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/mapbender-users
>


--
-----------------------------------------------------------
Michael Schulz                            [hidden email]

in medias res  Gesellschaft für Informationstechnologie mbH

In den Weihermatten 66              Tel +49 (0)761 556959-5
79108 Freiburg                      Fax +49 (0)761 556959-6

                www.webgis.de / www.zopecms.de
-----------------------------------------------------------
NEU ++ UMN MapServer Hosting ++ http://www.webgis.de ++ NEU
-----------------------------------------------------------


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Mapbender-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mapbender-users
Reply | Threaded
Open this post in threaded view
|

Re: WMS-Dienst über https+Proxy einbinden

Ronald Woita-3
Danke für die schnelle Antwort.
Ich habe die curl-Bibliothek jetzt mit der Option '--with-ssl'
kompiliert und nach langem hin- und her
dem dusseligen SLES die Umgebungsvariable 'https_proxy' untergejubelt
(ist im sysconfig nicht einmal
vorgesehen), so daß der https-Request über curl an der Konsole
funktioniert (sowohl als root und wwwrun).
Trotzdem läuft im php-Skript die Bedingung 'if . . .
isset($_ENV["http_proxy"])' gegen false.
Rufe ich dagegen ein php-Skript mit echo $_ENV["http_proxy"] an der
Konsole auf, wird der korrekte
Wert zurückgegeben.

Wäre es sonst sinnvoll auf PHP 5 zu migireren ?
Hat denn jemand Erfahrung mit mapbender + php5 ?

schöne Grüße von der Ostsee

Ronald Woita



Michael Schulz schrieb:

> Hallo,
>
> habe dasselbe Problem gehabt: die php fopen-wrapper reagieren leider
> nicht auf eingestellte Proxies.
>
> Laut php-Liste ist das in php5 teilweise behoben, indem man dem fopen
> ein context-array mitgeben kann, dass z.B. proxy-einträge enthält.
>
> Für php Version 4.x kann man statt fopen() die php-curl funktionen
> nutzen. Diese beachten die eingestellten http_proxy bzw. no_proxy
> environment variablen. Dazu müsste man dann die class_wms.php ändern -
> ist für mich momentan ein lokaler workaround (habe bisher keine
> unerwünschten Effekte beobachtet):
>
> class_wms.php:56:
>
> $data = implode("",file($url)) or die("<br><b>unable to open file:
> </b>".$url);
>
> ersetzt durch:
>
> if (extension_loaded("curl") && isset($_ENV["http_proxy"])) {
>    // a http_proxy is set from the environment, very good
>    $ch = curl_init ($url);
>    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
>    $file = curl_exec ($ch);
>    curl_close ($ch);
>    $data = $file or die("<br><b>unable to open resource via curl:
> </b>".$url);
> } else {
>    $data = implode("",file($url)) or die("<br><b>unable to open file:
> </b>".$url);
> }
>
> Ansonsten besteht natürlich auch immer die Möglichkeit das
> Capabilities-XML lokal einzubinden. Die ändern sich ja nicht so häufig
> (hoffentlich).
>
> HTH, Michael
>
>
> Ronald Woita schrieb:
>
>> Hallo Liste,
>>
>> habe mal ein Problem, dass den Mapbender zwar nur am Rande streift, aber
>> vielleicht hat ja jemand eine Lösung.
>>
>> Ich möchte einen WMS-Dienst über https einbinden. Der Webserver muß
>> dazu über einen Proxy die Verbindung herstellen. Die brauch ich,
>> damit Mapbender die Capabilities auslesen kann.
>>
>> Das Problem mit der https-Verbindung habe ich lösen können.
>> Dazu muß php mit der Option --with-openssl kompiliert werden.
>>
>> Aber wie bringe ich php bei, den Proxy zu benutzen ?
>>
>>
>> Danke
>>
>> Ronald Woita
>>
>>
>> --
>> Ronald Woita
>> Hansestadt Rostock
>> Kataster-, Vermessungs- und Liegenschaftsamt
>> Holbeinplatz 14, 18069 Rostock
>> email: [hidden email] phone: +49 (0)381 - 381 6256
>>
>>
>>
>> -------------------------------------------------------
>> This SF.Net email is sponsored by:
>> Power Architecture Resource Center: Free content, downloads,
>> discussions,
>> and more. http://solutions.newsforge.com/ibmarch.tmpl
>> _______________________________________________
>> Mapbender-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/mapbender-users
>>
>
>



-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Mapbender-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mapbender-users
Reply | Threaded
Open this post in threaded view
|

Re: WMS-Dienst über https+Proxy einbinden

Michael Schulz
Hallo,

hatte am Anfang das gleiche Problem, dass die env-variablen nicht
vorhanden waren (werden die $_ENV-Variablen bei phpinfo() angezeigt?).
Nach Apache-Neustart waren sie aber plötzlich da. Sie können auch dem
curl die Info über den proxy geben:

curl_setopt($ch, CURLOPT_PROXY, "<a href="http://ihr.proxy.server:portnummer">http://ihr.proxy.server:portnummer");

Kleiner Pferdefuß: Wenn Sie nun auch WMS Server aus dem Intranet (d.h.
ohne Proxy) einbinden wollen, müssen sie eine eigene "no_proxy" Abfrage
einbauen...

Viele Grüße,
Michael Schulz



Ronald Woita schrieb:

> Danke für die schnelle Antwort.
> Ich habe die curl-Bibliothek jetzt mit der Option '--with-ssl'
> kompiliert und nach langem hin- und her
> dem dusseligen SLES die Umgebungsvariable 'https_proxy' untergejubelt
> (ist im sysconfig nicht einmal
> vorgesehen), so daß der https-Request über curl an der Konsole
> funktioniert (sowohl als root und wwwrun).
> Trotzdem läuft im php-Skript die Bedingung 'if . . .
> isset($_ENV["http_proxy"])' gegen false.
> Rufe ich dagegen ein php-Skript mit echo $_ENV["http_proxy"] an der
> Konsole auf, wird der korrekte
> Wert zurückgegeben.
>
> Wäre es sonst sinnvoll auf PHP 5 zu migireren ?
> Hat denn jemand Erfahrung mit mapbender + php5 ?
>
> schöne Grüße von der Ostsee
>
> Ronald Woita
>
>
>
> Michael Schulz schrieb:
>
>> Hallo,
>>
>> habe dasselbe Problem gehabt: die php fopen-wrapper reagieren leider
>> nicht auf eingestellte Proxies.
>>
>> Laut php-Liste ist das in php5 teilweise behoben, indem man dem fopen
>> ein context-array mitgeben kann, dass z.B. proxy-einträge enthält.
>>
>> Für php Version 4.x kann man statt fopen() die php-curl funktionen
>> nutzen. Diese beachten die eingestellten http_proxy bzw. no_proxy
>> environment variablen. Dazu müsste man dann die class_wms.php ändern -
>> ist für mich momentan ein lokaler workaround (habe bisher keine
>> unerwünschten Effekte beobachtet):
>>
>> class_wms.php:56:
>>
>> $data = implode("",file($url)) or die("<br><b>unable to open file:
>> </b>".$url);
>>
>> ersetzt durch:
>>
>> if (extension_loaded("curl") && isset($_ENV["http_proxy"])) {
>>    // a http_proxy is set from the environment, very good
>>    $ch = curl_init ($url);
>>    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
>>    $file = curl_exec ($ch);
>>    curl_close ($ch);
>>    $data = $file or die("<br><b>unable to open resource via curl:
>> </b>".$url);
>> } else {
>>    $data = implode("",file($url)) or die("<br><b>unable to open file:
>> </b>".$url);
>> }
>>
>> Ansonsten besteht natürlich auch immer die Möglichkeit das
>> Capabilities-XML lokal einzubinden. Die ändern sich ja nicht so häufig
>> (hoffentlich).
>>
>> HTH, Michael
>>
>>
>> Ronald Woita schrieb:
>>
>>> Hallo Liste,
>>>
>>> habe mal ein Problem, dass den Mapbender zwar nur am Rande streift, aber
>>> vielleicht hat ja jemand eine Lösung.
>>>
>>> Ich möchte einen WMS-Dienst über https einbinden. Der Webserver muß
>>> dazu über einen Proxy die Verbindung herstellen. Die brauch ich,
>>> damit Mapbender die Capabilities auslesen kann.
>>>
>>> Das Problem mit der https-Verbindung habe ich lösen können.
>>> Dazu muß php mit der Option --with-openssl kompiliert werden.
>>>
>>> Aber wie bringe ich php bei, den Proxy zu benutzen ?
>>>
>>>
>>> Danke
>>>
>>> Ronald Woita
>>>
>>>
>>> --
>>> Ronald Woita
>>> Hansestadt Rostock
>>> Kataster-, Vermessungs- und Liegenschaftsamt
>>> Holbeinplatz 14, 18069 Rostock
>>> email: [hidden email] phone: +49 (0)381 - 381 6256
>>>
>>>
>>>
>>> -------------------------------------------------------
>>> This SF.Net email is sponsored by:
>>> Power Architecture Resource Center: Free content, downloads,
>>> discussions,
>>> and more. http://solutions.newsforge.com/ibmarch.tmpl
>>> _______________________________________________
>>> Mapbender-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/mapbender-users
>>>
>>
>>
>
>
>
> -------------------------------------------------------
> This SF.Net email is sponsored by:
> Power Architecture Resource Center: Free content, downloads, discussions,
> and more. http://solutions.newsforge.com/ibmarch.tmpl
> _______________________________________________
> Mapbender-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/mapbender-users
>


--
-----------------------------------------------------------
Michael Schulz                            [hidden email]

in medias res  Gesellschaft für Informationstechnologie mbH

In den Weihermatten 66              Tel +49 (0)761 556959-5
79108 Freiburg                      Fax +49 (0)761 556959-6

                www.webgis.de / www.zopecms.de
-----------------------------------------------------------
NEU ++ UMN MapServer Hosting ++ http://www.webgis.de ++ NEU
-----------------------------------------------------------


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Mapbender-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mapbender-users