diff --git a/smoothschedule/compose/production/traefik/traefik.yml b/smoothschedule/compose/production/traefik/traefik.yml index f90bbf8..5b71e7a 100644 --- a/smoothschedule/compose/production/traefik/traefik.yml +++ b/smoothschedule/compose/production/traefik/traefik.yml @@ -64,10 +64,13 @@ http: certResolver: letsencrypt # Email autoconfiguration subdomains + # These need host rewriting because Django's tenant middleware doesn't recognize them autoconfig-router: rule: 'Host(`autoconfig.smoothschedule.com`)' entryPoints: - web-secure + middlewares: + - email-autoconfig-host service: django tls: certResolver: letsencrypt @@ -76,6 +79,8 @@ http: rule: 'Host(`autodiscover.smoothschedule.com`)' entryPoints: - web-secure + middlewares: + - email-autoconfig-host service: django tls: certResolver: letsencrypt @@ -107,6 +112,12 @@ http: headers: hostsProxyHeaders: ['X-CSRFToken'] + email-autoconfig-host: + # Rewrite Host header so Django tenant middleware routes to API/public schema + headers: + customRequestHeaders: + Host: 'api.smoothschedule.com' + services: django: loadBalancer: