Если вы делали сертификаты с помощью Lets Encrypt, то скорее всего сделать новый сертификат у вас не получится с помощью команды:
$ sudo letsencrypt --apache -d example.com
Будет ошибка:
Client does not support any combination of challenges that will satisfy the CA.
Это происходит потому что:
You need to upgrade your Certbot. Let’s Encrypt permanently disabled the TLS-SNI-01 challenge302 due to a security report, as of 2018-01-09.
А что собственно произошло?
А произошло то, что используемый до этого метод получения сертификата перестал быть секьюрным. Поэтому поменяем метод, попутно доказав центру сертификации, что мы это мы.
Сделаем все через certbot
Поставим certbot:
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-apache
Создадим папку
В доступной для веб-сервера директории создадим отдельную папку, скажем, letsencrypt, которую затем мы будем использовать для всех обслуживаемых доменов и установим ее владельцем веб-сервер:
mkdir /var/www/letsencrypt
chown www-data:www-data /var/www/letsencrypt
Обработаем запрос
Теперь нам нужно сделать так, чтобы любой запрос вида:
http://example.com/.well-known/acme-challenge
приводил к физическому размещению:
/var/www/letsencrypt/.well-known/acme-challenge
Для Apache 2.x будет выглядеть вот так: Для подготовки к работе с Certbot добавьте в основной конфигурационный файл /etc/apache2/apache2.conf следующую секцию:
Alias /.well-known/acme-challenge/ /var/www/letsencrypt/.well-known/acme-challenge/
<Directory "/var/www/letsencrypt/.well-known/acme-challenge/">
Options None
AllowOverride None
ForceType text/plain
Require all granted
RedirectMatch 404 "^(?!/\.well-known/acme-challenge/[\w-]{43}$)"
</Directory>
Перезапускаем Apache:
sudo /etc/init.d/apache2 restart
Получение сертификата
Запрашиваем новый сертификат командой
sudo certbot --authenticator webroot --installer apache --webroot-path /usr/data/www/letsencrypt
Среди предложенных доменов выбираем нужный домен (или задаем командной -d).Выбираем необходимость редиректа с HTTP.