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