API Tomcat недоступен с угловой - PullRequest
0 голосов
/ 21 февраля 2019

После перехода с 'localhost' на онлайн-сервер я получаю эту ошибку 403. Из-за CORS.

API-интерфейс доступен из URL-адреса и работает, но когда я вызываю его со своей угловой страницей Typescript,Это не работает, выдавая мне эту ошибку:

Не удалось загрузить ресурс: сервер ответил со статусом 403 ()

Доступ к XMLHttpRequest на 'http://...:8080/bet365/elencoEventi/2019-02-20' from origin 'http://127.0.0.1:8000' заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок' Access-Control-Allow-Origin '.

Я пытался добавить фильтрыв коте, вот так:

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

Но все равно выдает ошибку 403.

1 Ответ

0 голосов
/ 21 февраля 2019

Если вы используете последнюю версию Tomcat, вам необходимо настроить политики CORS.

http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#CORS_Filter

Фильтр встроен в Tomcat 7 +

СогласноСогласно документации, ваша конфигурация включила фильтр, но не ослабляет перекрестную политику.Как минимум, вам нужно будет добавить параметр инициализации cors.allowed.origins, как описано.

Попробуйте эту конфигурацию:

<filter>
  <filter-name>CorsFilter</filter-name>
  <filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
  <init-param>
    <param-name>cors.allowed.origins</param-name>
    <param-value>*</param-value>
  </init-param>
</filter>
<filter-mapping>
  <filter-name>CorsFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>
...