似乎没有办法知道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 中工作,你需要那个你试图避免的点。其他一切都是服务器软件的扩展和特定于实现的。