Router - 192.168.1.1 (static)
Windows PC - 192.168.1.10 (static)
Synology NAS - 192.168.1.11 (static)
DockerPihole - 192.168.1.12 (macvlan-static)
DockerUnbound - 192.168.1.13 (macvlan-static)
DockerTraefik - 192.168.1.14 (macvlan-static)
DockerTraefik - 192.168.10.2 (bridge-static)
DockerNginx1 - 192.168.10.10 (bridge-static)
DockerNginx2 - 192.168.10.20 (bridge-static)
主要区别是 Synology 已经在使用 80 和 443,所以我的解决方案是将 Traefik 放在 macvlan 中,所以我没有端口冲突。
我几乎所有的东西都在工作,但我在弄清楚这件事(希望是最后一件)时遇到了麻烦。在 Traefik 日志中,我可以看到 letsencrypt.org 的 DNS 有问题。
这是日志的错误:
level=error
msg=Unable to obtain ACME certificate for domains "nginx2.mydomain.com":
unable to generate a certificate for the domains [nginx2.mydomain.com]:
error: one or more domains had a problem:
[nginx2.mydomain.com] acme: error: 400 :: urn:ietf:params:acme:error:dns :: DNS problem: NXDOMAIN looking up A for nginx2.mydomain.com
- check that a DNS record exists for this domain; DNS problem: NXDOMAIN looking up AAAA for nginx2.mydomain.com
- check that a DNS record exists for this domain
providerName=staging.acme
routerName=nginx2@docker
rule=Host(`nginx2.mydomain.com`)
ACME CA=https://acme-staging-v02.api.letsencrypt.org/directory
我已经在 Synology 中设置了 DNS,并将我的路由器设置为将 Synology 作为我的第一个 DNS 服务器。 当我从我的 PC ping nginx2.mydomain.com 时,它返回 DockerTraefik 容器的 IP 192.168.1.14。我相信这是正确的行为。
另外,当我查看我的 acme.json 文件(它是空的)时,我看到它已经填充了一个证书,上面写着“状态”:“有效”(暂时暂存,生产是空的)。我相信这是正确的行为。
我不确定我错过了什么,但是当我浏览到 nginx2.mydomain.com 时,浏览器中的证书显示
颁发给:TRAEFIK DEFAULT CERT 颁发者:TRAEFIK DEFAULT CERT
我期待它说: 发给:nginx2.mydomain.com 发布者:(STAGING)...
这是我的目标:
目前解决的问题: