Vários sites cors no Traefik

Vários sites cors no Traefik

Estou usando o Traefik no meu servidor Ubuntu. Cors funciona bem para um site, mas quando tento usá-lo para dois, eles parecem entrar em conflito. Qual é a sintaxe correta?

Isto é o que tenho no meu arquivo docker-compose:

Serviço 1:

  - "traefik.http.routers.service-one.middlewares=cors"
  - "traefik.http.middlewares.cors.headers.accesscontrolallowmethods=GET,OPTIONS,PUT"
  - "traefik.http.middlewares.cors.headers.accesscontrolalloworiginlist=https://site1.com,https://site2.com,https://site2.com"
  - "traefik.http.middlewares.cors.headers.accesscontrolmaxage=100"
  - "traefik.http.middlewares.cors.headers.addvaryheader=true"

Serviço 2:

  - "traefik.http.routers.service-two.middlewares=cors"
  - "traefik.http.middlewares.cors.headers.accesscontrolallowmethods=GET,OPTIONS,PUT"
  - "traefik.http.middlewares.cors.headers.accesscontrolalloworiginlist=https://site1.com,https://site2.com,https://site2.com"
  - "traefik.http.middlewares.cors.headers.accesscontrolmaxage=100"
  - "traefik.http.middlewares.cors.headers.addvaryheader=true"

Responder1

Você tem o mesmo middleware CORS, vamos separá-los em seu docker-compose.ymlarquivo.

services:
  service1:
    labels:
      - "traefik.http.routers.service-one.middlewares=cors-service1"
      - "traefik.http.middlewares.cors-service1.headers.accesscontrolallowmethods=GET,OPTIONS,PUT"
      - "traefik.http.middlewares.cors-service1.headers.accesscontrolalloworiginlist=https://site1.com,https://site2.com"
      - "traefik.http.middlewares.cors-service1.headers.accesscontrolmaxage=100"
      - "traefik.http.middlewares.cors-service1.headers.addvaryheader=true"

  service2:
    labels:
      - "traefik.http.routers.service-two.middlewares=cors-service2"
      - "traefik.http.middlewares.cors-service2.headers.accesscontrolallowmethods=GET,OPTIONS,PUT"
      - "traefik.http.middlewares.cors-service2.headers.accesscontrolalloworiginlist=https://site1.com,https://site2.com"
      - "traefik.http.middlewares.cors-service2.headers.accesscontrolmaxage=100"
      - "traefik.http.middlewares.cors-service2.headers.addvaryheader=true"

informação relacionada