Всё что нужно знать о letsencrypt

apt-get install letsencryptCode language: JavaScript (javascript)

Далее рекомендуется сделать бэкапы конфигов Nginx, в них будут автоматически внесены изменения. Если что-то пойдёт не так, конфиги можно будет откатить.
На официальном сайте letsencrypt рекомендуют бота Certbot. Он будет обновлять сертификаты для сайтов автоматически. Инструкции для Ubuntu 18.04 под Nginx:
https://certbot.eff.org/lets-encrypt/ubuntubionic-nginx.html
Чтобы посмотреть список доменов для сертификата:

certbot certificatesCode language: Shell Session (shell)

Чтобы перевыпустить сертификат с новым списком доменов:

certbot --expand -d existing.com,example.com,newdomain.comCode language: Shell Session (shell)

Потом можно удалить старый сертификат:

certbot delete --cert-name exampleCode language: Shell Session (shell)

Подробнее: https://certbot.eff.org/docs/using.html#nginx

Что делать, если у нас Nginx используется как прокси для Apache?

  • Идём в /etc/apache2/ports.conf и убираем все условия для прослушки порта 443.
  • Врубаем ssl для Apache: a2enmod ssl
  • Идём в конфиг сайта и добавляем туда:
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/area37.ru/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/area37.ru/privkey.pem
RewriteEngine on
RewriteRule .* - [E=HTTPS:on]Code language: Shell Session (shell)

После этого PHP будет видеть, что на сайте включен SSL.