Я пытаюсь включить CORS на свой сервер. Он содержит как Apache HTTPD, так и Apache Tomee. HTTPD сконфигурирован как:httpd duplicate Access-Control-Allow-Origin с «Header always set»
SetEnvIf Origin "^https://(.+\.)?my-domain.com$" allowed_origin=$0
Header always set Access-Control-Allow-Origin %{allowed_origin}e env=allowed_origin
Header set Access-Control-Allow-Credentials "true"
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS, HEAD, PUT, DELETE, PATCH"
Header set Access-Control-Allow-Headers "accept,x-requested-method,origin,x-requested-with,x-request,cache-control,content-type"
Header set Access-Control-Max-Age "600"
и мой Tomee веб XML:
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
<init-param>
<param-name>cors.allowed.headers</param-name>
<param-value>Origin,Accept,X-Requested-With,Content-Type,Access-Control-Request-Method,Access-Control-Request-Headers,Accept-Language,Keep-Alive</param-value>
</init-param>
<init-param>
<param-name>cors.allowed.methods</param-name>
<param-value>GET,POST,HEAD,OPTIONS,PUT,PATCH,DELETE</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Моя проблема я получаю заголовок Access-Control-Allow-Credentials
дважды в ответ на запрос предполетной OPTIONS:
HTTP/1.1 200 OK
Access-Control-Allow-Origin: https://my-origin.my-domain.com
Access-Control-Allow-Origin: https://my-origin.my-domain.com
Access-Control-Allow-Credentials: true
Access-Control-Max-Age: 600
Access-Control-Allow-Methods: GET, POST, OPTIONS, HEAD, PUT, DELETE, PATCH
Access-Control-Allow-Headers: accept,x-requested-method,origin,x-requested-with,x-request,cache-control,content-type,authorization
Я не понимаю, почему использование ключевого слова set
в моей конфигурации HTTPD не удаляет дубликат Access-Control-Allow-Origin
. Кроме того, если я удаляю ключевое слово «всегда», он возвращает только один Access-Control-Allow-Origin
...
Я бы сделал tcp дамп между httpd и посмотрел, куда добавляются дополнительные заголовки –
У меня такая же проблема, но удаление ключевого слова «always» не исправляет ее, запросы по-прежнему включают дубликаты заголовков. Apache 2.4.25 – GraduateOfAcmeU