非点通配符(*-foo.example.com)用于绑定吗?

非点通配符(*-foo.example.com)用于绑定吗?

似乎没有办法知道bind应该*-foo.example.com解析为例如10.1.2.3,而*-bar.example.com解析为10.2.3.4。有什么解决方法吗?可以使用外部程序解析某些名称(例如)吗?或者我应该更改bind为例如。强力DNS

我尽量避免购买另一个 SSL 通配符证书。(对于通配符证书,例如*.example.com,无法允许在*部分中使用点。)

在区域文件中指定全部*-foo*-bar名称不是一个选项,因为我需要能够动态创建两种类型的地址。

答案1

它之所以不起作用是因为它不是 RFC 中定义的行为。它必须作为您正在使用的软件的扩展来实现。RFC4592巩固了通配符记录的定义:

2.1.1. 通配符域名和星号标签

“通配符域名”的定义是,其初始(即
最左边或最不重要的)标签采用二进制格式:

  0000 0001 0010 1010 (binary) = 0x01 0x2a (hexadecimal)

注意术语标签这里。标签是用点分隔的实体。如果标签中有除星号以外的任何内容,则它不是通配符。

你有点被困在这里了。在 DNS 中工作,你需要那个你试图避免的点。其他一切都是服务器软件的扩展和特定于实现的。

答案2

RFC 6125防止嵌套子域名拥有通用证书。 RFC 4592RFC 1034防止将 *-xxx.domain.com 作为 DNS 条目。

因此,您只有两种选择(这在尝试自动化时并不好):

  • 为每个子域创建一个证书(有免费的替代方案,但根据您的平台可能会很复杂)。
  • 为每个子服务(不会是子子域)创建一个完整的 DNS 条目。

相关内容