Docker 如何使用traefik将http重定向到https?

Docker 如何使用traefik将http重定向到https?,docker,docker-compose,traefik,Docker,Docker Compose,Traefik,我在使用Traefik将http重定向到https流量时遇到了一个小问题。到目前为止,我的带有acme的https路由器工作正常,但我有两个问题正在努力克服 我必须手动指定https://domain以通过https路由。否则,它将尝试通过http路由并获得404 即使我手动输入https://domain它在大部分情况下都能工作,但在某些路径中,它会毫无理由地尝试通过http路由,并获得404 无论地址栏中是否键入了https,如何确保路由中的每个路径始终使用https 入口点是nameh

我在使用Traefik将http重定向到https流量时遇到了一个小问题。到目前为止,我的带有acme的https路由器工作正常,但我有两个问题正在努力克服

  • 我必须手动指定
    https://domain
    以通过https路由。否则,它将尝试通过http路由并获得404
  • 即使我手动输入
    https://domain
    它在大部分情况下都能工作,但在某些路径中,它会毫无理由地尝试通过http路由,并获得404
无论地址栏中是否键入了https,如何确保路由中的每个路径始终使用https

入口点是name
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"

在traefik服务本身上添加以下标签,所有HTTP流量将重定向到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的信息和完整示例