【问题标题】:Traefik with self-signed certificate带有自签名证书的 Traefik
【发布时间】:2017-03-30 17:19:55
【问题描述】:

我有一个生成 ACME 证书的 Traefik 反向代理,我想在我的 docker 容器上启用 SSL。

在我的容器中,我有一个自签名证书,但 Traefik 拒绝连接它。

我的docker-compose.yml:

version: "2"
services:
  magento:
    image: lavoweb/php-5.6
    expose: 
     - 80
     - 443
    volumes:
     - ./data/src/:/var/www/html
    labels:
     - "traefik.port=80"
     - "traefik.backend=swarm"
     - "traefik.protocol=https"
     - "traefik.frontend.rule=Host:1.swarm.lavoweb.net"
     - "traefik.docker.network=web"
    networks:
     - web
     - internal
networks:
  web:
    external:
      name: web
  internal:
    driver: bridge

我收到了这个错误:

内部服务器错误

【问题讨论】:

    标签: ssl docker traefik


    【解决方案1】:

    这就是我如何通过使用 Docker Swarm 和 Docker Compose V3 的 LetsEncrypt 自动更新来实现这一点:

    version: '3'
    services:
      traefik:
        image: traefik
        command: --web --docker --docker.domain=docker.localhost --docker.watch \
          --logLevel=DEBUG \
          --defaultEntryPoints='http,https' \
          --entryPoints='Name:http Address::80' \
          --entryPoints='Name:https Address::443 TLS' \
          --docker.swarmmode=true \
          --docker.exposedbydefault=false \
          --acme \
          --acme.entryPoint='https' \
          --acme.email='sugarcane@gmail.com' \
          --acme.ondemand=false \
          --acme.acmelogging=true \
          --acme.onhostrule=true \
          --acme.storage='/etc/traefik/acme/acme.json'
        networks:
          - default
          - traefik-net
        ports:
          - "80:80"
          - "8080:8080"
          - "443:443"
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
          - traefikdata:/etc/traefik/acme
    
      mytestservice:
        image: blah/mytestservice
        networks:
          - default
          - traefik-net
        ports:
          - "8001:80"
        deploy:
          labels:
            - "traefik.port=80"
            - "traefik.enable=true"
            - "traefik.backend=machine-mytestservice"
            - "traefik.docker.network=traefik-net"
            - "traefik.frontend.rule=Host:mydomain.com,www.mydomain.com"
    
    networks:
      traefik-net:
    
    volumes:
      traefikdata:
    

    【讨论】:

    • 谢谢,但我需要与 Apache 容器共享 SSL 证书
    • @Aurélien 所以只需将 traefik 卷附加到 apache 容器?
    • 他说的是自签名证书而不是让加密
    猜你喜欢
    • 1970-01-01
    • 2020-10-28
    • 2018-06-02
    • 2020-02-17
    • 2014-05-05
    • 2015-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多