
Я использую Traefik на моем сервере Ubuntu. 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"