如何使用SSL和基本身份验证来保护traefik仪表板?

问题描述 投票:3回答:1

有一个traefik设置并在DigitalOcean上为3节点docker swarm工作,我的网络应用程序正在提供。我想保护traefik仪表板,并从GitHub问题收集了一些信息,但我尝试访问仪表板时尝试导致网关超时。

我的撰写文件如下(为了安全起见,编辑了auth和url):

version: "3.5"
services:
  traefik:
    image: traefik:1.6
    command:
      - --api
      - --docker
      - --docker.watch
      - --docker.swarmmode      
      - --entryPoints=Name:http Address::80
      - --entryPoints=Name:https Address::443 TLS:/run/secrets/el_cert,/run/secrets/el_key,/run/secrets/as_cert,/run/secrets/as_key
    ports:
      - 80:80
      - 443:443
    networks:
      - proxy
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    secrets:
      - as_cert
      - as_key
      - el_cert
      - el_key
    deploy:
      mode: global
      labels:
        - "traefik.frontend.entryPoints=http,https"
        - "traefik.frontend.headers.SSLRedirect=true"
        - "traefik.frontend.rule=Host:<hostname>"
        - "traefik.port=8080"
        - "traefik.frontend.auth.basic=<user>:<password>"
      placement:
        constraints: [node.role==manager]
networks:
  proxy:
    external:
      name: proxy
secrets:
  as_cert:
    external: true
  as_key:
    external: true
  el_cert:
    external: true
  el_key:
    external: true

BTW如果我从部署中移出标签,它将使用docker-compose在本地工作。

docker docker-swarm traefik
1个回答
0
投票

添加以下标签似乎可以解决问题:

traefik.backend.loadbalancer.swarm =真

我认为traefik负载均衡器正在进入某种无限循环。如果有人能提供完整的解释,我将不胜感激!

© www.soinside.com 2019 - 2024. All rights reserved.