一尘不染

使用8081端口将Apache代理到Geoserver 8080 for WFS

tomcat

我陷入困境已经好几天了,现在我真的很感谢您的帮助。这是我的情况:-Ubuntu Linux(打开所有端口)-在端口8081上运行Apache-
在端口8080上的Geoserver
Tomcat我试图通过与服务器不同的PC建立WFS连接,因此我需要使用代理。在我的服务器中,我编辑了httpd.conf并添加了以下几行:

ProxyRequests Off
ProxyPreserveHost On
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /geoserver http://mydomain.com:8080/geoserver
ProxyPassReverse /geoserver http://mydomain.com:8080/geoserver

我从OpenLayers下载了proxy.cgi,并进行了编辑以添加允许的主机(localhost:8081,localhost,mydomain:8081等)。当我在网络浏览器中打开proxy.cgi时,我被转发到了openlayers网站,所以我认为python和脚本运行正常。然后,我将http://mydomain.com:8081/geoserver添加到了geoserver仪表板中的基本代理URL中。在我的html中,我将每个脚本文件(如Openlayers.js,GeoExt,js)指向apache,因此端口为8081。在我的init函数中,我放置了:

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

WFS的向量层是这样的:

var inc2007 = new OpenLayers.Layer.Vector("Inc", {
                                          styleMap: styles1,
       strategies: [new OpenLayers.Strategy.BBOX()],
         protocol: new OpenLayers.Protocol.WFS({
             url: "http://mydomain.com:8081/geoserver/wfs",
                                                  featurePrexif: "Inc",
                                                  featureType: "Inc",
             featureNS: "http://mydomain.com:8080/Incendi"

                                        }),
    });

我在地图上看不到该层,萤火虫也没有记录任何内容。我试图将ProxyHost链接更改为“ http://mydomain.com:8081/cgi-
bin/proxy.cgi?url=“,但没有任何更改。我能做什么?我真的…真的需要您的帮助。

提前感谢您的回复


阅读 387

收藏
2020-06-16

共1个答案

一尘不染

通过将proxy.cgi放在本地apache上而不是在geoserver机器上的apache上解决…

2020-06-16