Pytanie Jak włączyć CORS w apache tomcat [duplicate]


To pytanie już zawiera odpowiedź:

Próbuję skonsumować niektóre usługi internetowe, które są między domenami. Kiedy wyłączam zabezpieczenia WWW Chrome, działa dobrze. Chcę, aby działał bez tego, więc próbowałem dodać cross-domain.xml i nadal nie działa. Kiedy szukałem więcej, dowiedziałem się o włączeniu CORS w tomcat.

od http://www.w3.org/wiki/CORS_Enabled


Dla Apache Apache można skonfigurować tak, aby odsłonił ten nagłówek za pomocą mod_headers. Jest to domyślnie włączone w Apache, ale możesz chcieć włączyć go w swoim wdrożeniu, uruchamiając następujące polecenie:

a2enmod headers

Aby odsłonić nagłówek, możesz dodać następujący wiersz wewnątrz, i sekcji lub w pliku .htaccess.

<IfModule mod_headers.c>
   Header set Access-Control-Allow-Origin "*"
 </IfModule>

Czy ktoś może dać mi znać, gdzie dodać te konfiguracje w TOMCAT i w które dokładnie pliki. Używam tomcat od zaćmienia.

Doceniam każdą pomoc.


16
2018-03-20 07:25


pochodzenie




Odpowiedzi:


Obsługa CORS w Tomcat jest zapewniona przez filtr. Dodaj ten filtr do pliku web.xml i skonfiguruj go zgodnie z wymaganiami. Pełne informacje na temat dostępnych opcji konfiguracji można znaleźć w Dokumentacja Tomcat.


8
2018-03-20 09:04



Dzięki za odpowiedź. Ale dodałem to w moim Web.xml, a nawet wypróbowałem używając przechwytywacza serwletów do dodania parametru nagłówka dla wszystkich odpowiedzi z response.setHeader ("Access-Control-Allow-Origin", "*"). Ale to nie działa. - Ravi Dasari
Nawet ja zmieniłem konfiguracje dla web.xml i dodałem response.setHeader ("Access-Control-Allow-Origin", "*"); response.setHeader ("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader ("Access-Control-Max-Age", "3600"); Ale wciąż stoi przed tym samym problemem. Czy ktoś może pomóc. - Tanvi Garg


Sprawdź tę odpowiedź: Ustaw nagłówek CORS w Tomcat

Zauważ, że potrzebujesz Tomcat 7.0.41 lub nowszego.

Aby dowiedzieć się, gdzie znajduje się obecna instancja Tomcat, spróbuj tego:

System.out.println(System.getProperty("catalina.base"));

Zobaczysz ścieżkę w widoku konsoli.

Potem szukaj /conf/web.xml w tym folderze otwórz go i dodaj linie powyższego linku.


4
2018-03-28 09:58



To nie działa, próbowałem tego. - Tanvi Garg


Wystarczy dodać trochę dodatkowych informacji do właściwego rozwiązania. Pamiętaj, że będziesz potrzebować tej klasy org.apache.catalina.filters.CorsFilter. Aby mieć go, jeśli twój tomcat nie jest 7.0.41 lub wyższy, pobierz "tomcat-catalina.7.0.41.jar" lub wyższy (możesz to zrobić z http://mvnrepository.com/artifact/org.apache.tomcat/tomcat-catalina ) i umieść go w folderze "lib" w folderach instalacyjnych Tomcat. Właściwie użyłem 7.0.42 Mam nadzieję, że to pomoże!


1
2018-02-12 15:31



Zamiast zanieczyszczać katalog tomcat różnymi wersjami, prawdopodobnie lepiej zaproponować aktualizację Tomcat 7.0.41 lub nowszego. - ankon
Brzmi nieźle :) - Francisco López-Sancho