В 16.04 нет пакета python-certbot-nginx поэтому все делаем руками.
## Ставим CertBot
sudo apt-get install certbot
## Создаем папку
sudo mkdir -p /var/www/cert_bot/.well-known/acme-challenge
sudo chown -R www-data:www-data /var/www/cert_bot
## Создаем базовый конфиг в /etc/nginx/site-enable/default
server {
listen 80;
server_name _;
root /var/www/cert_bot;
location /.well-known/acme-challenge/ {
access_log off;
default_type "text/plain";
}
location / {
return 301 https://$server_name$request_uri;
}
}
## Пробуем запросить сертификат
sudo certbot certonly --dry-run--webroot --agree-tos --email hostmaster@domain.com -w /var/www/cert_bot/ -d domain.com
## Если все ок, заправиваем без --dry-run
sudo certbot certonly --webroot --agree-tos --email hostmaster@domain.com -w /var/www/cert_bot/ -d domain.com
## Добавляем конфиг с SSL /etc/nginx/site-enable/domain-ssl
server {
listen 443 ssl;
server_name domain.com;
ssl on;
ssl_stapling on;
ssl_stapling_verify on;
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/domain.com/privkey.pem;
#ssl_dhparam /etc/nginx/dhparam.pem;
root /var/www/html
}
## Добавляем в крон автообновление сертификата
sudo crontab -e -u root
0 0 10,25 * * certbot renew