![非点通配符(*-foo.example.com)用于绑定吗?](https://linux22.com/image/801297/%E9%9D%9E%E7%82%B9%E9%80%9A%E9%85%8D%E7%AC%A6%EF%BC%88*-foo.example.com%EF%BC%89%E7%94%A8%E4%BA%8E%E7%BB%91%E5%AE%9A%E5%90%97%EF%BC%9F.png)
似乎没有办法知道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 中工作,你需要那个你试图避免的点。其他一切都是服务器软件的扩展和特定于实现的。