为部署在 OpenShift 上的 Tomcat7 / Geoserer 设置 CORS

Setting CORS for a Tomcat7 / Geoserer deployed on OpenShift

我按照 Steven 的优秀 tutorial to setup Geoserver on a Tomcat7 gear on Openshift. This works relatively well. The main issue being that the gear doesn't restart. I build the gear three times now. The first two times the gear did not come alive again. I waited a few good hours before I deleted and rebuilt the application. I deploy the Geoserver 2.7 war 作为我构建中的 ROOT。

接下来的问题当然是CORS设置了。如果我无法从我的其他应用程序访问服务,Openshift 上的 Geoserver 就毫无用处。我已经测试了 reverse proxy 来访问 Geoserver。这有效但速度很慢。我更喜欢服务器端 CORS 解决方案。从版本 7.0.41 Tomcat 开始支持 CORS。我不知道如何在 OpenShift 上启用它。我也不知道 Tomcat 7 (JBoss EWS 2.0) 的确切版本是 OpenShift 运行。

一如既往,欢迎任何帮助或评论。谢谢,丹尼斯

确认一下,Tomcat 7 (JBoss EWS 2.0) 的当前版本支持 CORS。

我所做的只是编辑 .openshift/config/web.xml 并添加以下过滤器:

.openshift/config/web.xml

<filter>
  <filter-name>CorsFilter</filter-name>
  <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>CorsFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

我将更改推送到我的 openshift 齿轮,两分钟后我的服务再次可用。

不确定发生了什么变化,但这次我的墨盒启动得很好。

丹尼斯

编辑:我在 blog 上对设置进行了更详细的解释。