【发布时间】:2013-02-01 09:31:24
【问题描述】:
我正在尝试从基于 openlayers 的应用程序向 GeoServer 发出 WMS GetFeatureInfo 请求。 但是我遇到了跨源问题,因为它知道我的源是 http:localhost。
希望有人可以帮助我这是我的设置
我在 IP x.x.x.x 的 Windows 服务器上安装了 geoserver,它通过端口 8080 访问。 我在 IIS 7.5 中本地安装了我的 openlayers 应用程序,我使用
引用它http://localhost/Application/Application.html
在 GeoServer 服务器上我配置了以下内容
GeoServer 作为 GeoSuite v2.2 的一部分安装,它使用 Jetty Web 服务。 GeoServer 代理扩展已安装。 (http://geoserver.org/display/GEOS/GeoServer+Proxy+Extension)。
我已将其余代理设置为使用匿名身份验证。我必须在 config.xml 中执行此操作,因为此版本的 GeoServer 管理中有一个错误,它会停止保存身份验证过滤器。 我还确保在 rest.properties 文件中配置为允许匿名身份验证。 在代理配置中我允许本地主机
在 openlayers 应用程序中,我将代理服务器设置如下
OpenLayers.ProxyServer = "http://x.x.x.x:8080/geoserver/rest/proxy?url="
这仍然不起作用,我仍然遇到跨源问题。我没有设置地理服务器 工作区基本代理网址,因为我不确定它是否相关。我需要设置这个吗?如果是的话怎么办?
如果有人解决了这个问题,请告诉我
感谢所有帮助。
【问题讨论】:
-
两个注意事项:如果可能,从 Jetty 运行您的 OpenLayers 应用程序,并且您没有跨域问题。如果你必须从 IIS 运行它,你也必须在 IIS 上设置你的代理,而不是在 Jetty 上。
-
你知道怎么做吗?你有例子吗。这将是一个很大的帮助
标签: proxy cross-domain gis openlayers geoserver