Установить позволяет шифровать на Chef Server - PullRequest
0 голосов
/ 14 марта 2019

Я хочу установить сертификат Letsencrypt на моем сервере Chef. Я следовал этому руководству :

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. Благодаря этому ответу я создал /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 все еще не может быть сгенерирован.

Как я могу получить сертификат Letsencrypt для моего Chef Server?

1 Ответ

1 голос
/ 25 марта 2019

Флаг --standalone, который вы попробовали, первоначально порождает собственный сервер certbot на порту 80. Это не удалось, потому что у вас было что-то еще, прослушивающее порт 80. Если это ваш chef-сервер, можно отключить его прослушивание на порту 80 (возможно,временно остановить сервер) или переместить его non_ssl_port на какой-либо другой порт, например, 8000.

Если это не сервер chef, прослушивающий порт 80, вам следует выяснить, что это такое (то есть это может быть экземпляр nginxили сервер apache).

После того, как вы выясните и освободите порт 80, ваш начальный набор команд должен работать и выдать сертификат.

...