traefik 2.4 перенаправление с https на http

Моя надстройка служб настроена на перенаправление HTTP на HTTPS.

superset:
image: superset:base
container_name: superset_app
ports:
  - '8080'
labels:
  - "traefik.enable=true"
  - "traefik.http.middlewares.http-to-https.redirectscheme.scheme=https"
  - "traefik.http.routers.superset-http.middlewares=http-to-https"
  - traefik.http.routers.superset-http.rule=Host("superset-lab.domain.com")
  - "traefik.http.routers.superset-http.entrypoints=web"
  - traefik.http.routers.superset.rule=Host("superset-lab.domain.com")
  - "traefik.http.routers.superset.entrypoints=web-secure"
  - "traefik.http.routers.superset.tls=true"
  - "traefik.http.services.superset.loadbalancer.server.port=8080"

Этот конфиг работает как положено.

curl -Ik http://superset-lab.domain.com/login/?username=9999999&redirect=/superset/dashboard/
[1] 85007
HTTP/1.1 307 Temporary Redirect
Location: https://superset-lab.domain.com/login/?username=999999
Content-Length: 18
Content-Type: text/plain; charset=utf-8

Но когда я пытаюсь получить доступ напрямую по HTTPS, запрос перенаправляется на http.

curl -Ik https://superset-lab.domain.com/login/?username=999999&redirect=/superset/dashboard/
[1] 85096
HTTP/1.1 302 Found
Content-Length: 209
Content-Type: text/html; charset=utf-8
Date: Mon, 26 Apr 2021 16:09:11 GMT
Location: http://superset-lab.domain.com/
Server: Werkzeug/1.0.1 Python/3.6.9
HttpOnly; Path=/; SameSite=Lax
Vary: Cookie

Есть проблема с моими ярлыками traefik или что-то в приложении (суперсете)?


person Joao Vitorino    schedule 26.04.2021    source источник


Ответы (1)


Проблема не в траэфике. Надмножество Apache использует flask, а заголовки X-Fowarded должны быть установлены в flask.

Вот какое-то объяснение. https://stackoverflow.com/a/23504684/4175515

В конкретном случае надмножества Apache просто установите ENABLE PROXY_FIX = True в config.py, чтобы решить проблему.

person Joao Vitorino    schedule 27.04.2021