在Lets Server上安装Lets Encrypt

时间:2019-03-14 09:22:09

标签: nginx chef lets-encrypt

我想在Chef服务器上安装Letsencrypt证书。我关注了this guide

git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto
./letsencrypt-auto certonly --standalone --email your-email@email-service.com -d chefserver.DOMAIN.com

但这会导致Problem binding to port 80: Could not bind to IPv4 or IPv6.,因此我不得不更改服务器允许端口80上的流量的配置。感谢this answer,我创建了/etc/opscode/chef-server.rb

nginx['non_ssl_port'] = 80
nginx['ssl_port'] = 443
nginx['enable_non_ssl'] = true
nginx['x_forwarded_proto'] = 'http'
nginx['url'] = 'http://chef.mydomain.com'

运行chef-server-ctl reconfigure后,我发现/etc/opscode/chef-server-running.json已更改。

但是服务器仍然将我的http流量重定向到https,因此仍然无法生成Letsencrypt证书。

如何为Chef服务器获取Letsencrypt证书?

1 个答案:

答案 0 :(得分:1)

您最初尝试使用的--standalone标志在端口80上生成certbot自己的服务器。此操作失败,因为您在端口80上监听了其他内容。暂时停止服务器)或将其non_ssl_port移至其他端口,即8000。

如果不是厨师服务器在端口80上监听,则应调查它是什么(即它可以是nginx或apache服务器的实例)。

找到并释放端口80后,最初的命令应该可以工作并产生证书。