我正在使用xampp和geoserver开发层。我的openlayer应用程序正在URL http://localhost:8008上运行我正在尝试访问URL http://localhost:8080/geoserver/workspace
但我无法访问它。在浏览器控制台中我有以下错误。跨源请求被阻止:同源策略不允许在https://localhost:8080/geoserver/workspace/ows上读取远程资源? (原因:CORS请求没有成功)..请帮我这个
我已尝试在tomcat和geoserver中的web.xml中应用过滤器
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
also in geoserver webinf/web.xml I added
<filter>
<filter-name>cross-origin</filter-name>
<filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
<init-param>
<param-name>chainPreflight</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>allowedOrigins</param-name>
<param-value>*</param-value>
</init-param>
<init-param>
<param-name>allowedMethods</param-name>
<param-value>GET,POST,PUT,DELETE,HEAD,OPTIONS</param-value>
</init-param>
<init-param>
<param-name>allowedHeaders</param-name>
<param-value>*</param-value>
</init-param>
</filter>
在xampp配置中添加代理以使地理服务器也位于localhost:8008,以便您可以通过localhost:8008 / geoserver访问它。
ProxyPass /geoserver/ http://localhost:8080/geoserver/
也许您需要在Apache配置中加载代理模块以使用ProxyPass
选项。