Как включить CORS в apache tomcat

Я пытаюсь использовать некоторые веб-службы, которые являются перекрестными доменами. Когда я отключу хром-web-безопасность, он работает нормально. Я хочу, чтобы он работал без этого, поэтому я попробовал добавить cross-domain.xml и все равно не работал. Когда я искал больше, узнал о включении CORS в tomcat.

из http://www.w3.org/wiki/CORS_Enabled


Для Apache Apache может быть настроен для отображения этого заголовка с помощью mod_headers. Это включено по умолчанию в Apache, однако вы можете убедиться, что оно включено в вашем развертывании, выполнив следующую команду:

a2enmod headers

Чтобы открыть заголовок, вы можете добавить следующую строку внутри, и разделы, или в файл .htaccess.

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

Может кто-нибудь, пожалуйста, дайте мне знать, где добавить эти конфигурации в TOMCAT и в , где именно файлы. Я использую tomcat из затмения.

Оцените любую помощь.

Ответ 1

Поддержка CORS в Tomcat предоставляется через фильтр. Вы должны добавить этот фильтр в свой файл web.xml и настроить его в соответствии с вашими требованиями. Полную информацию о доступных параметрах конфигурации можно найти в Документации Tomcat.

Ответ 2

Отметьте этот ответ: Установите заголовок CORS в Tomcat

Обратите внимание, что вам нужен Tomcat 7.0.41 или выше.

Чтобы узнать, где находится текущий экземпляр Tomcat, попробуйте следующее:

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

Вы увидите путь в представлении консоли.

Затем найдите /conf/web.xml в этой папке, откройте его и добавьте строки указанной ссылки.

Ответ 3

Просто добавьте немного дополнительной информации по правильному решению. Имейте в виду, что вам понадобится этот класс org.apache.catalina.filters.CorsFilter. Поэтому, чтобы получить его, если ваш tomcat не равен 7.0.41 или выше, загрузите 'tomcat-catalina.7.0.41.jar' или выше (вы можете сделать это из http://mvnrepository.com/artifact/org.apache.tomcat/tomcat-catalina) и поместите его в папку "lib" внутри установочных папок Tomcat. Я действительно использовал 7.0.42 Надеюсь, это поможет!