С помощьюdehydrated
(https://github.com/lukas2511/dehydrated)легко создавать и обновлять сертификаты Let's Encrypt.
Вы должны добавить местоположение /.well-known/acme-challenge/
для каждого сайта, так как служба Let's Encrypt будет проверять ответы на запросы в этом местоположении, чтобы убедиться, что вы являетесь владельцем сайтов, для которых вы запросили сертификаты :
.
location /.well-known/acme-challenge/ { allow all; root /st/hosting/hamilton/htdocs; }
И использовать тот же путь в обезвоженной конфигурации:
egrep -v "^#|^[[:space:]]*$" config
WELLKNOWN="/st/hosting/hamilton/htdocs/.well-known/acme-challenge"
CONTACT_EMAIL=
После этого поместите все ваши домены в domain.txt
файл :в каждой строке первый домен будет CommonName
а остальные имена будут AlternativeNames
, например:
head -n1 domains.txt
hamilton.rinet.ru jenkins.hamilton.rinet.ru munin.hamilton.rinet.ru
После этого вы должны указать dehydrated -c
в cron и использовать скрипт, подобный этому, для установки новых сгенерированных сертификатов:
#!/bin/sh
CERTS_DIR=/usr/local/etc/dehydrated/certs
NGINX_SSL=/usr/local/etc/nginx/ssl
DOMAINS=$(awk '{ print $1 }' /usr/local/etc/dehydrated/domains.txt)
for d in $DOMAINS; do
short_d=${d%%.rinet.ru}
short_d=${short_d%%.ru}
# short_d=${short_d##www.}
cp -v ${CERTS_DIR}/$d/fullchain.pem ${NGINX_SSL}/${short_d}.crt
cp -v ${CERTS_DIR}/$d/privkey.pem ${NGINX_SSL}/${short_d}.key
done
# Also update certs for Dovecot
cp -v ${CERTS_DIR}/hamilton.rinet.ru/fullchain.pem /usr/local/etc/dovecot/certs/certs/server.crt
cp -v ${CERTS_DIR}/hamilton.rinet.ru/privkey.pem /usr/local/etc/dovecot/certs/private/server.key
Проверьте права доступа к jar-файлу. Для пользователя crontab требуется разрешение на чтение и выполнение
.Иногда разрешение не требуется при запуске вручную, но необходимо для Cron.