Я был в дилемме в течение нескольких дней, и теперь я был бы очень признателен за вашу помощь. Вот моя ситуация: - Ubuntu Linux (все порты открыты) - Apache работает на порту 8081 - Geoserver Tomcat на порту 8080 Я пытаюсь установить соединение 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
Я загрузил proxy.cgi из OpenLayers и отредактировал, добавив разрешенные хосты (localhost: 8081, localhost, mydomain: 8081 и т. д.). Когда я открываю proxy.cgi в веб-браузере, меня перенаправляют на сайт openlayers, поэтому я думаю что python и скрипт работают правильно. Затем я добавил http://mydomain.com:8081/geoserver к базовому URL-адресу прокси-сервера на панели инструментов геосервера. В моем html я указываю каждый файл сценария, такой как Openlayers.js, GeoExt, js, на apache, поэтому с портом 8081. Внутри моей функции инициализации я помещаю:
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=", но ничего. Что я могу сделать? Мне очень... очень нужна твоя помощь.
Заранее спасибо за ваши ответы