Как я могу перенаправить http в https с помощью traefik? - PullRequest
1 голос
/ 03 марта 2020

У меня небольшая проблема с перенаправлением http на https traffi c с Traefik. Пока что мой https-маршрутизатор с acme работает нормально, но у меня есть две проблемы, которые я пытаюсь преодолеть.

  • Я должен вручную указать от https://domain до go по маршруту https. В противном случае он пытается go через http-маршрут и получает 404.
  • Даже когда я вручную набираю https://domain, он работает по большей части, но в некоторых путях, без причины, он будет попробуйте go через http-маршрут и получите 404.

Как я могу убедиться, что маршрут всегда использует https для каждого пути в маршруте, независимо от того, был ли введен https в адресную строку ?

Точки входа: имя http и https. Моя частично рабочая настройка:

- "traefik.enable=true"
- traefik.port=8000
- traefik.backend=myapp
- traefik.http.routers.myapp.rule=Host(`sub.mydomain.com`)
- "traefik.http.routers.myapp.entrypoints=https"
- "traefik.http.routers.myapp.tls.certresolver=myresolver"
# redir http to https
- "traefik.http.routers.myapp-secure.rule=Host(`sub.mydomain.com`) && PathPrefix({p:.+})"
- "traefik.http.routers.myapp-secure.entrypoints=https"
- "traefik.http.middlewares.myapp-secure.redirectscheme.scheme=https"
- "traefik.http.routers.myapp.middlewares=myapp-secure"
- "traefik.http.routers.myapp-secure.tls=true"

1 Ответ

1 голос
/ 03 марта 2020

Добавьте нижеприведенные метки на сам сервис traefik, и все HTTP-трафики c будут перенаправлены на HTTPS

        - traefik.http.middlewares.https_redirect.redirectscheme.scheme=https
        - traefik.http.middlewares.https_redirect.redirectscheme.permanent=true
        - traefik.http.routers.http_catchall.rule=HostRegexp(`{any:.+}`)
        - traefik.http.routers.http_catchall.entrypoints=http
        - traefik.http.routers.http_catchall.middlewares=https_redirect

Более подробную информацию и полные примеры использования Traefik можно найти здесь

...