首页 > 解决方案 > CNAME 重定向并让 traefik 加密

问题描述

我已经用 traefik 设置了 docker swarm。它运作良好。

我的 DNS 设置是这样的

A - prod.example.com - myip

CNAME - *.prod.example.com - prod.example.com

A - realname.example.com - myip

traefik.toml我有几个域的条目

```

[[acme.domains]]
   main = "prod.example.com"
[[acme.domains]]
   main = "one.prod.creatomus.com"
[[acme.domains]]
   main = "two.prod.creatomus.com"
[[acme.domains]]
   main = "realname.creatomus.com"

```

在前端,它们被定义为所有三个域都可以正常工作并指向同一个前端

traefik.frontend.rule=Host:one.prod.example.com, two.prod.example.com, realname.example.com

所有域都工作并从 80 重定向到 443。但不知何故,letsencrypt 证书仅针对 . 下的通配符域获取*.prod.example.com

是否可以通过这种方式使用自定义域?

realname.example.com如果我不能将通配符 CNAME 附加到顶级域,我还能如何获得域的letsencrypt证书?

ps CNAME 而不是 A 指针也不起作用。

标签: dockerdocker-swarmlets-encrypttraefik

解决方案


删除调试模式后,我注意到 let encrypt ratelimit 已经启动。可能我之前错过了它,因为我所做的任何其他更改都不会产生任何影响。现在一切都在使用上述设置。[[acme.domains]]甚至不需要,因为所有域都是从前端规则中提取的。


推荐阅读