仅通过CLI使用Let's Encrypt设置Traefik以要求客户端证书

时间:2019-07-06 15:48:31

标签: traefik ssl-client-authentication

我试图将Traefik设置为执行SSL客户端证书,就像我以前使用Apache所做的一样。但是我似乎无法使其正常工作。我也在使用Docker,这是命令参数

    command:
      - --defaultEntryPoints=http,https
      - --insecureSkipVerify
      - "--entryPoints=Name:http Address::80 Compress:true Redirect.entryPoint:https"
      # This one works with no authentication
      - "--entryPoints=Name:https Address::443 Compress:true TLS"

      # These don't seem to do anything
      - "--entryPoints=Name:https Address::443 Compress:true TLS CA.Optional:false CA:/run/secrets/CA"
      - --ping
      - --docker
      - --docker.endpoint=tcp://daemon:2375
      - --docker.exposedByDefault=false
      - --docker.swarmMode
      - --docker.watch
      - --acme
      - --acme.email=REDACTED@trajano.net
      - --acme.onhostrule
      - --acme.entrypoint=https
      - --acme.httpchallenge
      - --acme.httpchallenge.entrypoint=http
      - --zookeeper.endpoint=zookeeper:2181
      - --zookeeper.prefix=traefik
      - --acme.storage=traefik/acme/acme.json

1 个答案:

答案 0 :(得分:0)

实际上,毕竟是CA.OptionalCA。我使用的是Firefox,它会自动选择证书,而当我使用Chrome时,它是在使用缓存的内容。因此,当我清除浏览器缓存后,一切开始起作用。

请注意,此方法仅验证客户端证书已由CA签名,而不执行任何额外的检查,例如所使用的主题是什么。据我所知,这是Traefik 1.7的局限性。