Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ssl 具有自签名证书的Traefik_Ssl_Docker_Traefik - Fatal编程技术网

Ssl 具有自签名证书的Traefik

Ssl 具有自签名证书的Traefik,ssl,docker,traefik,Ssl,Docker,Traefik,我有一个生成ACME证书的Traefik反向代理,我希望在docker容器上启用SSL 在我的容器中,我有一个自签名证书,但Traefik拒绝连接到它 My docker-compose.yml: 我得到了这个错误: 内部服务器错误 这就是我如何利用Docker Swarm和Docker Compose V3实现LetsEncrypt自动更新的方法: version: '3' services: traefik: image: traefik command: --web -

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

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

My docker-compose.yml:

我得到了这个错误:

内部服务器错误


这就是我如何利用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证书container@Aur所以只需将traefik卷附加到apache容器?他说的是自签名证书,而不是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: