Traefik의 여러 코르 사이트

Traefik의 여러 코르 사이트

Ubuntu 서버에서 Traefik을 사용하고 있습니다. Cors는 한 웹사이트에서는 잘 작동하지만 두 웹사이트에 사용하려고 하면 충돌하는 것 같습니다. 올바른 구문은 무엇입니까?

이것이 내 docker-compose 파일에 있는 내용입니다.

서비스 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"

서비스 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"

답변1

동일한 CORS 미들웨어가 있으므로 파일에서 분리해 보겠습니다 docker-compose.yml.

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"

관련 정보