Puppet 具有傀儡节点网络的Foreman::HTTPNotFound错误

Puppet 具有傀儡节点网络的Foreman::HTTPNotFound错误,puppet,theforeman,Puppet,Theforeman,根据官方文档,我已经在RHEL 7.1虚拟机上安装了foreman(v1.9.0) 我当前的环境包括: 1名木偶师傅/工头 2个代理(RHEL 6.5和7) Foreman被配置为ENC,将服务于9个环境(包括生产环境)。 foreman中为foreman/puppetmaster配置了智能代理 代理在生成CSR和让傀儡主人签署CSR时没有任何问题 当我用命令在远程机器上运行puppet代理时 puppet agent --no-daemonize --server <FQDN>

根据官方文档,我已经在RHEL 7.1虚拟机上安装了foreman(v1.9.0)

我当前的环境包括:

  • 1名木偶师傅/工头
  • 2个代理(RHEL 6.5和7)
Foreman被配置为ENC,将服务于9个环境(包括生产环境)。 foreman中为foreman/puppetmaster配置了智能代理

代理在生成CSR和让傀儡主人签署CSR时没有任何问题

当我用命令在远程机器上运行puppet代理时

puppet agent --no-daemonize --server <FQDN> --trace
puppet agent -t <puppet master FQDN>
foreman-rake puppet:import:hosts_and_facts
调用foreman中的一个主机,然后单击“YAML”显示每个代理的正确信息

我甚至使用openssl从证书中提取了信息,以确认它们是正确的

更新:

我已经运行了命令

curl-k https:///foreman

这将返回输出

<html><body>You are being <a href="https://< Puppet Master FQDN>/foreman/users/login">redirected</a>.</body></html>
您正在被删除。
这将在中生成日志条目 ~/foreman/production.log

2015-10-01 10:04:57[应用][一] | |2015-10-01 10:04:57+1000时,开始为<木偶大师IP>获取“/工头/” 2015-10-01 10:04:57[应用程序][I]仪表板控制器的处理#索引为/ 2015-10-01 10:04:57[应用程序][I]已重定向至https:///foreman/users/login 2015-10-01 10:04:57[应用程序][I]过滤链因以下原因停止:需要登录 渲染或重定向 2015-10-01 10:04:57[应用程序][I]在7毫秒内完成了302次发现(活动记录:0.6毫秒)

在~/httpd/foreman-ssl\u access\u ssl.log中,我得到了这个

-[01/Oct/2015:10:05:26+1000]“GET/foreman/HTTP/1.1”302 129“-”curl/7.29.0”

同一日志中的其他相关日志条目

-[01/Oct/2015:09:53:28+1000]“POST/api/hosts/facts/HTTP/1.1“40427”-“Ruby”

-[01/Oct/2015:09:53:28+1000]“GET/node/?format=yml HTTP/1.1“404 52”-“Ruby”


因此,要问的问题是,我可以对Puppet/Foreman HTTP配置做些什么来解决404错误

看起来ENC脚本在web服务器的根目录(/api)上请求路径,而Foreman本身托管在子URI(/Foreman/)上。它应该点击
/foreman/api/hosts/facts
/foreman/node/
等,这就是为什么Apache返回404,但foreman没有看到并记录请求

您可以通过
:URL:
设置更改node.rb在/etc/puppet/foreman.yaml中使用的URL。在此处添加
/foreman
后缀


或者,如果使用Foreman安装程序,则可以使用
--puppet服务器Foreman url重新运行它=https://example.com/foreman
这应该做同样的事情。

没有production.log条目表明请求只涉及Apache,而不涉及Foreman。您提到了WebUI的工作原理,但选中了curl-khttps://puppet 主机fqdn本身返回登录重定向,并查看/var/log/httpd/foreman-ssl\u error\u ssl.log或/var/log/httpd/error\u log是否包含任何日志记录。我已使用附加数据更新了原始问题我将尝试您的第一个选项,虽然从内存中(我目前不在工作中)可以看出:url:设置包括/foreman。安装foreman时,我使用了选项--foreman url=。我还将尝试使用选项--puppet server foreman url=,重新运行安装程序。我已经使用您的选项--puppet server foreman url重新安装/配置了安装程序,它可以正常工作。我只使用了--foreman foreman url
<html><body>You are being <a href="https://< Puppet Master FQDN>/foreman/users/login">redirected</a>.</body></html>