我已经将 Puppet 服务器设置为 docker-composition 的一部分。
我在组合中有一些节点直接连接到容器。这很好,因为 Puppet Master 使用其本地名称自动创建了 SSL 证书(仅在 docker 组合内可用)格式类似于:
puppet.upgrades.jjk32jl.svc.dockerapp.io
我还有一些不属于组合一部分的外部节点,它们需要通过外部 url 进行连接upgrades.myorg.com
。
当我尝试连接外部节点时,我得到:
错误:无法请求证书:服务器主机名“puppet.upgrades.jjk32jl.svc.dockerapp.io”与服务器证书不匹配;预期为 upgrades.myorg.com、DNS:puppet、DNS:upgrades.myorg.com 之一
我可以设置第二个证书来处理外部节点(或使用替代名称)来处理这种情况吗?或者我需要重定向节点之间的内部通信以从外部进行连接吗upgrades.myorg.com
?
更新:
我已经为我的主证书添加了几个替代名称,现在使用时它看起来像这样puppet cert -la
:
“puppet.c9039f55-d345-45d1-a8bd-8fec89481559.local.dockerapp.io”(SHA256)4B:A6:1F:C6:EA:8E:69:17:E3:43:C6:AE:A1:AE:BB:7B:9A:4F:09:5C:6F:92:BD:E7:C8:56:43:D8:03:12:59:58(备用名称:“DNS:puppet”,“DNS:puppet-1.upgrades.fdafdafda.cont.dockerapp.io”,“DNS:puppet.c9039f55-d345-45d1-a8bd-8fec89481559.local.dockerapp.io”, “DNS:puppet.upgrades.jjk32jl.svc.dockerapp.io”)
puppet.upgrades.jjk32jl.svc.dockerapp.io
被列为替代名称,但我得到:
错误:无法请求证书:服务器主机名“puppet.upgrades.jjk32jl.svc.dockerapp.io”与服务器证书不匹配;预期为 puppet.64b21c37-fa14-4406-b931-5add61cf582e.local.dockerapp.io、DNS:puppet、DNS:puppet.64b21c37-fa14-4406-b931-5add61cf582e.local.dockerapp.io 之一
这很令人困惑,因为puppet.64b21c37-fa14-4406-b931-5add61cf582e.local.dockerapp.io
在主证书上没有提到替代名称。
答案1
处理此问题最干净的方法是添加另一个备用名称。您可以通过设置选项dns_alt_names
,然后按照备用名称选项文档中列出的程序重新生成主证书(添加新名称)来执行此操作这里。