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 Compose_Lets Encrypt_Traefik_Certbot - Fatal编程技术网

Ssl Traefik |没有针对单个域的证书

Ssl Traefik |没有针对单个域的证书,ssl,docker-compose,lets-encrypt,traefik,certbot,Ssl,Docker Compose,Lets Encrypt,Traefik,Certbot,我使用Traefik和docker compose。所有域通过Lets Encrypt自动接收证书 但是现在我需要一个用于外部应用程序的SSL证书。此应用程序未连接到traefik,但正在同一台服务器上运行 为了使用Certbot执行此任务,没有证书的域必须能够通过http接受连接。为了使Certbot正常工作,它尝试在域的根目录中保存一个文件,并通过http访问该文件 您能阻止通过标签使用SSL吗 Docker的相关部分包括: version: '3' services: app:

我使用Traefik和docker compose。所有域通过Lets Encrypt自动接收证书

但是现在我需要一个用于外部应用程序的SSL证书。此应用程序未连接到traefik,但正在同一台服务器上运行

为了使用Certbot执行此任务,没有证书的域必须能够通过http接受连接。为了使Certbot正常工作,它尝试在域的根目录中保存一个文件,并通过http访问该文件

您能阻止通过标签使用SSL吗

Docker的相关部分包括:

version: '3'
services:
  app:
    image: traefik:1.7.20-alpine
    restart: always
    ports:
      - "80:80"
      - "443:443"
        #- "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./traefik.toml:/traefik.toml
      - ./acme.json:/acme.json
    networks:
      - webserver

  node-Domain:
    image: httpd:latest
    networks:
      - webserver
    labels:
      - "traefik.frontend.rule=Host:node.domain.tld"
      - "traefik.protocol=http"
      - "traefik.frontend.entryPoints=http"
      - "traefik.http.routers.application.tls=false"
      - "traefik.frontend.headers.SSLRedirect=false"
      - "traefik.enable=true"
    volumes:
      - ./node-Domain:/usr/local/apache2/htdocs

我不确定我是否完全理解你想要实现的目标。。。看起来您正在使用traefik v1,标签中的juding。。。能否提供有关traefik版本和外部应用程序的更多详细信息?例如,外部应用程序是否托管在相同的服务器上?提供的
docker compose
配置是否仅包含外部应用程序,或者traefik是否作为docker容器运行?如果可能,请使用这些详细信息更新您的问题。完成。我希望这就是你所需要的,只是为了确保我能正确理解。因此,
节点域
不是外部应用程序。您需要托管一个完全不同的应用程序。但是traefik使用端口配置“80:80”和“443:443”发布/绑定到端口。这意味着通过主机的端口
80
443
的任何连接都将被traefik拦截。因此,您必须使用traefik托管应用程序,或者停止traefik容器,或者为外部应用程序使用不同的端口。应用程序使用不同的端口,但需要SSL证书。要自动获取证书,我需要Certbot。Certbot只能在域可以通过http://访问的情况下颁发证书。与docker compose文件一样,traefik容器没有任何标签,我可以假设它们是在配置文件中定义的。您需要在配置文件中禁用重定向到https,而不是使用
节点域
容器的标签。这些标签是特定于容器的。