2012-03-08 20 views
9

私はクロスオリジンリソース共有を新しくしました。これをTomcat 5.5サーバーで有効にしたいと思います。誰も私にこれをどのように達成できるかのヒントを与えることができますか?私はすべての要求のための普遍ヘッダーを設定し、ここですべての起源(Access-Control-Allow-Origin: *Tomcat 5.5のクロスオリジンリソース共有

+0

http://stackoverflow.com/questions/1653308/access-control-allow-origin-multiple-origin-domains – austin

+0

申し訳ありませんが、それは私の質問に答えていません。すべてのドメインを(*を使って)許可するのはいいですが、必要なのはTomcat用に設定することです。 – Pablo

+0

こんにちは、私は受け入れられた答えが時代遅れだと思うので、今すぐTomcatの標準的な仕組みが存在することを人々に見てもらうために、私の答えに切り替えることを検討してください。 –

答えて

23

それはそれから始まる、静的なサイトの場合Tomcat 7.0.41では、CORSの動作をbuilt-in filterで簡単に制御できます。ほとんど

あなたがしなければならない唯一のことはCATALINA_HOME/confでグローバルweb.xmlを編集して、フィルタ定義を追加します:

 
    <!-- ================== 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 ====================== --> 

は、Firefoxが証明(クッキーとAccess-Control-Allow-Origin: *、要求を好きではないこと、しかし、注意してください):when responding to a credentialed request, server must specify a domain, and cannot use wild carding.

+1

+1、これは質問に対する完璧な答えだと思います。 – DarkHorse

+0

ワイルドカードのない複数のドメインを持つ方法はありますか? firefoxはこのヘッダーのカンマを拒否します – FlavorScape

関連する問題