1

使用下面的配置,颁发的证书适用于www.example.orgabc.example.org.but 不适用于www.abc.example.org.

http:
  routers:
    web-router:
      rule: "Host(`example.org`) ||
       Host(`www.example.org`) ||
       HostRegexp(`{subdomain:[a-z-]+}.example.org`) ||
       HostRegexp(`www.{subdomain:[a-z-]+}.example.org`)"

      entryPoints:
        - web
      middlewares:
        - redirect
        - csrf
      service: django


    web-secure-router:
      rule: "Host(`example.org`) ||
       Host(`www.example.org`) ||
       HostRegexp(`{subdomain:[a-z-]+}.example.org`) ||
       HostRegexp(`www.{subdomain:[a-z-]+}.example.org`)"

      entryPoints:
        - web-secure
      middlewares:
        - csrf
      service: django
      tls:
        certResolver: letsencrypt
        domains:
          - main: "*.example.org"
            sans:
              - "example.org"

certificatesResolvers:
  letsencrypt:
    acme:
      email: "email@example.com"
      storage: /etc/traefik/acme/acme.json
      dnsChallenge:
        provider: route53
        delayBeforeCheck: 0

在 DNS 中,我有和的A记录。example.org*.example.org

是否有可能同时获得适用的www.*.example.org证书*.example.org

4

1 回答 1

0

LetsEncrypt 不使用嵌套通配符。您可以获得*.example.org或的证书*.sub.example.org,但*.example.org不包括.在 的定义中*

此外,DNS 本身不支持嵌套或嵌入式通配符。

如果您创建记录www.*.example.com然后查询类似的内容,您可以看到这一点www.foo.example.com。您将收到 NXDOMAIN 响应。如果您查询www.\*.example.com(或将 FQDN 用单引号括起来以避免外壳扩展),那么您将获得您创建的 A 记录。星号不在记录开头时变成文字字符。

➤ host www.sub.productionwebsite.com 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:

Host www.sub.productionwebsite.com not found: 3(NXDOMAIN)
~
➤ host 'www.*.productionwebsite.com' 8.8.8.8
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:

www.*.productionwebsite.com has address 10.68.0.73
于 2021-11-03T04:28:08.133 回答