Интеграция letsencrypt c vesta панелью

Материал из wiki.nntc.nnov.ru
Версия от 14:50, 19 мая 2016; Gumanoed (обсуждение | вклад) (Новая страница: «==mail.nntc.nnov.ru== ===Vesta=== ====Предарительные настройки Vesta==== Изменяем настройки шаблона, чтобы п…»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

mail.nntc.nnov.ru

Vesta

Предарительные настройки Vesta

Изменяем настройки шаблона, чтобы папка .well-known была доступна прямо на proxy

cat /usr/local/vesta/data/templates/web/nginx/zimbra-force-https.tpl


server {
    listen      %ip%:%proxy_port%;
    server_name %domain_idn% %alias_idn%;
    location /.well-known {
    	default_type text/plain;
    	root /etc/letsencrypt/webroot;
	}
    location /(?!\.well-known) {
        rewrite ^(.*) https://%domain_idn%$1 permanent;
    } 
}

Даем команду vesta панели на перегенирацию конфигурационного файла nginx для всех хостов пользователя http_proxy

/usr/local/vesta/bin/v-rebuild-web-domains http_proxy

После выполнения этой команды изменения попадут в файл /home/http_proxy/conf/web/nginx.conf

Запрашиваем ключи у LetsEncrypt

letsencrypt-vesta http_proxy mail.nntc.nnov.ru

Будьте внимательны, Vesta для каждого домена поднимает поддомен www. Если он не прописан в DNS удалите этот alias из web-интерфейса vesta-панели.

Автоматизируем

cat /opt/ssl-key-update-mail.nntc.nnov.ru.sh

 
#!/bin/bash

letsencrypt-vesta http_proxy mail.nntc.nnov.ru

rcp -o StrictHostKeyChecking=no -r /etc/letsencrypt/live/mail.nntc.nnov.ru sslmngr@mail.nntc.nnov.ru:~
touch /tmp/renewed.txt
rcp -o StrictHostKeyChecking=no /tmp/renewed.txt sslmngr@mail.nntc.nnov.ru:~
rm /tmp/renewed.txt

Добавляем строчку в cron

01 01	1 * *	root	/opt/ssl-key-update-mail.nntc.nnov.ru.sh


gitlab.nntc.nnov.ru

Vesta

Предарительные настройки Vesta

Изменяем настройки шаблона, чтобы папка .well-known была доступна прямо на proxy

cat /usr/local/vesta/data/templates/web/nginx/gitlab_forcehttps_proxy.tpl
server {
    listen      %ip%:%proxy_port%;
    server_name %domain_idn% %alias_idn%;
    location /.well-known {
    	default_type text/plain;
    	root /etc/letsencrypt/webroot;
	}
    location /(?!\.well-known) {
        rewrite ^(.*) https://%domain_idn%$1 permanent;
    } 
}

Даем команду vesta панели на перегенирацию конфигурационного файла nginx для всех хостов пользователя http_proxy

/usr/local/vesta/bin/v-rebuild-web-domains http_proxy

После выполнения этой команды изменения попадут в файл /home/http_proxy/conf/web/nginx.conf

Запрашиваем ключи у LetsEncrypt

letsencrypt-vesta http_proxy gitlab.nntc.nnov.ru

Будьте внимательны, Vesta для каждого домена поднимает поддомен www. Если он не прописан в DNS удалите этот alias из web-интерфейса vesta-панели.

Автоматизируем

cat /opt/ssl-key-update-gitlab.nntc.nnov.ru.sh 
#!/bin/bash

letsencrypt-vesta http_proxy gitlab.nntc.nnov.ru

rcp -o StrictHostKeyChecking=no -r /etc/letsencrypt/live/gitlab.nntc.nnov.ru sslmngr@gitlab.nntc.nnov.ru:~
touch /tmp/renewed.txt
rcp -o StrictHostKeyChecking=no /tmp/renewed.txt sslmngr@gitlab.nntc.nnov.ru:~/
rm /tmp/renewed.txt

Добавляем строчку в cron

01 05	1 * *	root	/opt/ssl-key-update-gitlab.nntc.nnov.ru.sh