使用软件版本 puppet-server 0.25.5 和 puppet-dashboard 1.0.4,我拥有一个功能齐全的 puppet-dashboard 实例,并具有新签到报告的自动注册功能。但是,在 vhost 上启用 SSL 后,报告自动注册不再发生。我已经验证,从用户的角度来看,该站点在其他方面均正常运行。
我已经更改了文件中的 PORT 定义puppet_dashboard.rb
,但没有收到任何显示连接失败等的日志。
有人能提供关于如何最好地调试或修复这个问题的指导吗?
答案1
这显然不是设置和配置的问题,而是设计问题。底层报告注册不支持 SSL。经过一些更有创意的谷歌搜索,我发现了这一点粘贴贴使用下面复制的相关代码。process
在您的 中将定义替换为以下内容puppet_dashboard.rb
。
def process
link = Net::HTTP.new(HOST, PORT)
link.use_ssl = true
link.verify_mode = OpenSSL::SSL::VERIFY_NONE
link.start do |conn|
conn.post "/reports", "report=" + CGI.escape(self.to_yaml)
end
end
答案2
如果您在乘客下运行仪表板,您可以在虚拟主机中添加一个未启用 SSL 的部分,并将其专门用于报告。
这也解决了仪表板的 Web 服务器中启用 HTTPAuth 的类似问题,而仪表板本身也不支持该问题。