попытался определить шаги. Уменьшенный от более крупного скрипта, если у вас есть ошибка, пожалуйста, напишите здесь, чтобы исправить это.
Необходимые условия:
- Установлен haproxy, например здесь: ip is 200.200.200.200
- домен dns зарегистрирован и направлен на haproxy, например, здесь: test.com
- http работает, если это работает, тогда вся сеть работает
- с установленным letsencrypt и с учетная запись
- возможно остановить haproxy и отключить сайт
Шаги:
очистить старые папки в / etc / letsencrypt, которые с test.com rm -rf *test.com*
stop haproxy
команда запуска:
certbot certonly --standalone --preferred-challenges http --http-01-port 80 -d test.com
certbot certonly --standalone --preferred-challenges http --http-01-port 80 -d www.test.com
проверьте, все ли в порядке
root@200.200.200.200:/etc/letsencrypt/renewal# cat www.test.com.conf
должно быть:
#renew_before_expiry = 30 days
version = 0.22.2
archive_dir = /etc/letsencrypt/archive/www.test.com
cert = /etc/letsencrypt/live/www.test.com/cert.pem
privkey = /etc/letsencrypt/live/www.test.com/privkey.pem
chain = /etc/letsencrypt/live/www.test.com/chain.pem
fullchain = /etc/letsencrypt/live/www.test.com/fullchain.pem
# Options used in the renewal process
[renewalparams]
http01_port = 80
installer = None
pref_challs = http-01,
account = YOUR_ACCOUNT
authenticator = standalone
создать папки / etc / letsencrypt / live / www.test.com и т.д. / letsencrypt / live / test.com
создать файлы ссылок на архивные файлы
ln -s ../../archive/test.com/cert1.pem cert.pem
ln -s ../../archive/test.com/chain1.pem chain.pem
ln -s ../../archive/test.com/fullchain1.pem fullchain.pem
ln -s ../../archive/test.com/privkey1.pem privatekey.pem
скопировать сертификат в haproxy
cat fullchain.pem privatekey.pem > /etc/haproxy/ssl/test.com-fullchain.pem
то же самое для www*1069*
добавить в haproxy внешний интерфейс ssl
frontend test_com_ssl
bind *:443 ssl crt /etc/haproxy/ssl/ ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
default_backend test_com
внутренний интерфейс может быть таким же, как для внешнего интерфейса http
перезапустите haproxy, проверьте, активен ли сертификат
Чтобы проверить, чтобы увидеть дату истечения срока действия сертификата: Введите
openssl x509 -enddate -noout -in test.com-fullchain.pem
TO : Не рассказано, как обновить скрипт, надеюсь сделать это в будущем