@socode

Как настроить кросс-доменную политику?

Добрый день.

Вводная
Есть:
- Windows server(не спрашивайте почему win)
- Tomcat 8
- Nginx 1.12
- И сам web проект, который крутится на java.

Запросы принимает Nginx (так же отдаёт статику), и проксирует их на Java.
Есть страница, к примеру /app/registration, на ней есть форма регистрации.
При отправки формы на саму себя через POST, всё супер 200 ОК.
А вот при попытке сделать POST запрос на данный URL,
к примеру через Postman, я получаю 403 ошибку.
Есть мысли, что всё дело в CorsFilter политике Tomcat.
Но как я только не изгалялся над заголовками.
Всегда получаю 403, в конфиги Nginx тоже пробовал заголовки добавлять,
без толку. То ли лыжи не едут, то ли я ...

Вопрос
Кто сталкивался с похожей проблемой? Не знаю в какую сторону копать.

UPD
пример конфига
<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>
  <init-param>
	<param-name>cors.allowed.methods</param-name>
	<param-value>GET,POST,HEAD,OPTIONS,PUT</param-value>
  </init-param>
  <init-param>
	<param-name>cors.allowed.headers</param-name>
	<param-value>Accept,Accept-Encoding,Accept-Language,Access-Control-Allow-Methods,Access-Control-Allow-Origin,Access-Control-Allow-CredentialsAccess-Control-Request-Method,Access-Control-Request-Headers,Authorization,Connection,Content-Type,Host,Origin,Referer,Token-Id,User-Agent, X-Requested-With</param-value>
   </init-param>
</filter>
<filter>
  <filter-name>WebdavFixFilter</filter-name>
  <filter-class>org.apache.catalina.filters.WebdavFixFilter</filter-class>
</filter>
<filter-mapping>
  <filter-name>CorsFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

UPD 2
Проксирование из Nginx в Tomcat
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
add_header Pragma public;
add_header Cache-Control "public";
add_header Access-Control-Allow-Origin *;

proxy_pass http://127.0.0.1:8080/;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Server-Proto $server_protocol;
proxy_set_header X-Forwarded-Proto $scheme;

  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы