2012-02-15 4 views
2

私は数日間ジレンマにいましたが、今は本当に助けてくれてありがとうございます。 私の状況です: - Ubuntu Linux(全ポートオープン) - Apacheがポート8081で稼働しています - Geoserver Tomcat on port 8080 私は、サーバーとは別のPCでWFS接続をしようとしています。プロキシを使用してください。 は私のサーバーでは、私は、httpd.confを編集し、これらの行を追加しました:WFS用のGeoserver 8080への8081ポートを使用したApacheのプロキシ

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をダウンロード(ローカルホスト:8081、localhostを、MYDOMAIN:8081、など) をWebブラウザでproxy.cgiを開くと、openlayersサイトに転送されるので、pythonとスクリプトが正しく動作していると思います。 次に、geoserverダッシュボードのベースプロキシURLにhttp://mydomain.com:8081/geoserverを追加しました。私はOpenlayers.js、GeoExtなどのすべてのスクリプトファイルを指すように私のhtmlで は、私のinit関数の内部でポート8081 とそうのapacheするJS私は置く:

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" 

             }), 
    }); 

マップ上にこのレイヤーが表示されず、Firebugに何も記録されません。 ProxyHostリンクを「http://mydomain.com:8081/cgi-bin/proxy.cgi?url=」に変更しようとしましたが、何も表示されませんでした。 どうすればいいですか? 私は本当にあなたの助けが本当に必要です。ご回答

答えて

2

...

+0

類似の[質問はこちら](http://gis.stackexchange.com/questions/20328/path-to-proxy-cgi-for-geoserver-is-not-accessible-in-browser/20376#20376) – capdragon

2

を事前に

おかげでWFSプロトコルのプロパティは、対応するGeoServerプロパティに正しく一致するすべてのOpenLayersを確認してください。

10回中9回、これがWFSレイヤーが表示されない理由です。

私の回答herehereを見てください。ローカルのApache上でproxy.cgiを置くことではなくgeoserverマシン上に常駐しているapacheの上で解決

+0

同じベクトルがgeoserverマシン上で動作します。 Strategy to Fixedを変更しようとしましたが、結果は同じです。 –

+0

ジオサーバのプロパティが一致していることを確認しましたか?あなたのジオサーバの 'workspace name'と' layer name'はどちらも "Inc"と呼ばれていますか? GeoserverワークスペースのネームスペースURIが 'http://mydomain.com:8080/Incendi'に設定されていますか? – capdragon

+0

はい、本当にありがとうございます。彼らはあなたが言ったとおりです。 –