Reputation: 2854
I am new to Cross-origin resource sharing and I want to enable it in a Tomcat 5.5 server. Anybody can give me some hint how can this be achieved?
I want to set the header universally for all requests, and to allow all origins (Access-Control-Allow-Origin: *
)
Upvotes: 9
Views: 17517
Reputation: 5020
If it's a static site, then starting with Tomcat 7.0.41, you can easily control CORS behavior via a built-in filter.
Pretty much the only thing you have to do is edit the global web.xml
in CATALINA_HOME/conf
and add the filter definition:
<!-- ================== Built In Filter Definitions ===================== --> ... <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> <!-- ==================== Built In Filter Mappings ====================== -->
Be aware, though, that Firefox does not like Access-Control-Allow-Origin: *
and requests with credentials (cookies): when responding to a credentialed request, server must specify a domain, and cannot use wild carding.
Upvotes: 23
Reputation: 47987
Here is a Tomcat filter for adding CORS support: https://bitbucket.org/jsumners/corsfilter
Upvotes: 3