Traefik 失败的 https 重定向

Traefik failing https redirection

我有一个 docker-compose 使用 traefik 1.7 作为我网站的代理。我的网站服务器是Next.js。在我的其他应用程序上使用相同的配置时,我无法执行 http 到 https 重定向。

这是我的 docker-compose.yml :

version: '2'

services:
  proxy:
    image: traefik:1.7
    restart: always
    command: |-
      --logLevel=DEBUG
      --web
      --entrypoints='Name:http Address::80 Redirect.EntryPoint:https Redirect.Permanent:true'
      #--entrypoints='Name:http Address::80'
      --entrypoints='Name:https Address::443 TLS'
      --docker
      --acme
      --acme.entrypoint=https
      --acme.email=test@mail.com
      --acme.storage=/etc/traefik/acme.json
      --acme.ondemand=false
      --acme.onhostrule=true
      --acme.httpChallenge.entryPoint=http
    networks:
      - default
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik:/etc/traefik/
  website-preprod:
    image: registry/taggedimage
    restart: always
    labels:
      - "traefik.backend=my-website"
      - "traefik.frontend.rule=Host:domainname.com"
      - "traefik.docker.network=root_default"
      - "traefik.frontend.entryPoints=http,https"
      - "traefik.port=3000"
    environment:
      - HTTPS_CERT=server/certificates/dev.crt
      - HTTPS_KEY=server/certificates/dev.key
      - HTTP2=false
      - API_ENDPOINT=https://api.domainname.com/api
      - HTTPS=true
    depends_on:
      - proxy
    networks:
      - default
      - inner
networks:
  inner:
    driver: bridge
    internal: true

Https 有效,但从 http 到 https 的重定向无效。 Traefik 日志似乎没问题,只是它根本不重定向。

评论 #--entrypoints='Name:http Address::80' 似乎是问题所在。由于 docker-compose 被翻译成命令行,这一行打破了重定向的前一行。