为了从网站的域获得SSL证书,让我们加密,我必须演示对域的控制。让我们加密CA将查看被请求的域名,并发出一组或多组挑战。
Q1:当我有一个指向VPS的域名和一个“让我们加密”的电子邮件地址时,Traefik能自动处理初始的身份验证过程吗?
Q2:让我们对初始验证进行加密,仅打开http (80)端口就足够了吗?
Q3:自动更新是否需要打开80个端口?或者这也可能是一个443港口?从现在开始,最好开始将所有流量重定向到https。那么- Traefik/LetsEncrypt可以使用打开的443端口自动更新吗?
发布于 2019-01-26 15:47:53
答案(到目前为止):
Q1:是的!电子邮件可以是你所有的电子邮件地址.域名不必与您的域名相同。实际上,域名应该指向VPS。
Q2:是的!第一次开放80个港口。安装证书后开始重定向。
Q3:是的!:我找不到答案,所以我立即尝试了第一个答案中的建议。由于更改了其他设置,我重新启动了大约3次,在Traefik日志记录中没有显示错误。
现在让我们继续讨论真正的代码。在代码中,您可以找到三个答案。下一个文件是traefik.toml文件:
logLevel = "ERROR"
defaultEntryPoints = ["http", "https"]
[entryPoints]
[entryPoints.http]
address = ":80"
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
[entryPoints.https.tls]
[docker]
domain = "xyz.com"
[api]
[acme]
# Q1 - just use your email address
email = "email@example.com"
storage = "acme.json"
onHostRule = true
entryPoint = "https"
# Q3 answer = this allows for the TLS challenge on port 443
[acme.tlsChallenge]
# Q2 answer = this provides the HTTP challenge on port 80
#[acme.httpChallenge]
# entryPoint = "http"坞-组合文件是:
version: '3'
services:
traefik:
image: traefik:v1.7
container_name: traefik
restart: always
networks:
- yourappnet
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /your_path/traefik/traefik.toml:/traefik.toml
- /your_path/traefik/acme.json:/acme.json
ports:
- "80:80"
- "443:443"
labels:
- "traefik.docker.network=yourappnet"
- "traefik.frontend.rule=Host:monitor.xyz.com"
- "traefik.port=8080"
yourapp:
image: dockerhubuser/dockerimagename:latest
ports:
- 8080
networks:
- yourappnet
labels:
- "traefik.docker.network=yourappnet"
- "traefik.frontend.rule=Host:xyz.com"
networks:
yourappnet:
driver: bridge发布于 2019-01-26 17:39:43
Q2和Q3:
用于解决“让我们加密挑战”(创建或更新)的端口取决于所使用的挑战:
创建或更新使用相同的端口(取决于挑战),因此如果您希望Traefik自动更新您的证书,则需要保持端口打开。
https://stackoverflow.com/questions/54325914
复制相似问题