我在防火墙后面的服务器上安装了 chef server 11 ,即我必须为此服务器设置一些natting才能使用,因此服务器可以在端口449上访问从外部(而不是默认443 https端口)。 现在我在我的工作站安装了厨师,并设置了刀。我将chef_server_url设置为https://blahblah.com:449(这是一个虚假的域名)。现在我可以用刀连接到服务器,因为如果我运行类似'刀客户列表'的东西,它确实给出了列表。但是,如果我想上传一本食谱,它就不会这样做,看起来好像它试图连接到普通端口443上的chef_server_url:
h046n100:chef-repo chris$ knife cookbook upload hostname
Uploading hostname [0.1.0]
ERROR: Network Error: Error connecting to https://blahblah.com/sandboxes/00000000000020ec9bdebdbdaff8b9ed - Operation timed out - connect(2)
Check your knife configuration and network settings
任何想法为什么会这样做,以及是否/如何告诉厨师使用端口449?
非常感谢提前!
答案 0 :(得分:7)
您必须创建或修改/etc/chef-server/chef-server.rb
并添加以下行:
nginx['ssl_port'] = 449
然后运行:
sudo chef-server-ctl reconfigure
sudo chef-server-ctl restart
请参阅the docs。
答案 1 :(得分:0)
knife cookbook upload hostname --server-url https://blahblah.com:449
如果这样做,那么你需要用下面的行更新你的knife.rb:
chef_server_url "https://blahblah.com:449"