
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"