在Ubuntu 14上设置Chef Server 11时拒绝连接

我在HPCloud.com上创build了一个Ubuntu 14.04虚拟机来练习厨师

在此之后,我在HPCloud上设置DNS,并将/ etc / hosts中的主机名设置为chef-server.mydomain.com

运行时

chef-server-ctl user-create user_name first_name last_name email password --filename FILE_NAME 

我越来越

 ERROR: Connection refused connecting to https://127.0.0.1/users/, retry 1/5 

它重试5次,失败。 我的设置有什么问题?

我很想在评论中问你这个问题,但是我想我可以在答案部分详细说明一下可能的解决办法。

所以,当你有任何服务拒绝连接,而不只是厨师,检查服务正在做的应该是。 所以我假设你把Apache 2.x的食谱,并正确安装,是吗?

阶段1:

如果是的话,问题是:

 netstat -anp | grep :443 # or whatever your designated HTTP/HTTPS port is. 

如果你看到它,很好,服务正在运行,并已打开端口,进入第3阶段。如果服务还没有打开端口,进入第2阶段。

阶段2:

确保您configurationSELinux以允许服务产生一个端口。

 https://wiki.ubuntu.com/SELinux 

接着;

 semanage port -a -t http_port_t -p tcp 443 

您可以随时检查SELinux是在SELinuxconfiguration文件中执行还是禁用。

如果SELinux被禁用,那么检查你是否运行了iptables,如果是的话,发出命令(假设端口443是你的HTTPS端口):

  iptables -A INPUT -p tcp --dport 443 -j ACCEPT 

或者如果你使用firewalld

  firewall-cmd --zone=public --add-port=443/tcp --permanent 

阶段3:

你有权限查看目录/用户吗? 你没有指定一个HTTP错误号,所以我认为无论你试图做的是拒绝连接,可能是由于权限。

请记住,你正在使用的厨师命令是试图创build一个用户,你可以尝试sudo如果你不是根也!

另一个可能的错误是检查您的SSL设置,并确保您允许127.0.0.1被127.0.0.1查看。

Apache 2.4有不同的规则,而不是旧时尚的“允许命令”

你可以testing这个看看它是否工作:

 <RequireAll> Require host address #Change as necessary Require ip ip.address #Change as necessary </RequireAll> 

即:

 <RequireAll> Require all granted Require not ip 10.252.46.165 # This denies IPs </RequireAll> 

最后,如果这些都不起作用,那么检查你的httpd日志文件,他们是你最后的手段…呃…谷歌是..

我有同样的问题,但在一个stream浪的虚拟机,我做了testing。 我如何解决它:

  1. 编辑/ etc / hosts并添加你的服务器的主机名(所以nginx认为它是一个完全合格的域名)。
  2. 运行chef-server-ctl reconfigure
  3. 运行chef-server-ctl status来确保所有进程都在运行(没有人应该说下去,如果有的话,请尝试运行chef-server-ctl restart )。
  4. 再次运行您的厨师服务器ctl用户创build …命令。