apt-get install letsencrypt
Code language: JavaScript (javascript)
Далее рекомендуется сделать бэкапы конфигов Nginx, в них будут автоматически внесены изменения. Если что-то пойдёт не так, конфиги можно будет откатить.
На официальном сайте letsencrypt рекомендуют бота Certbot. Он будет обновлять сертификаты для сайтов автоматически. Инструкции для Ubuntu 18.04 под Nginx:
https://certbot.eff.org/lets-encrypt/ubuntubionic-nginx.html
Чтобы посмотреть список доменов для сертификата:
certbot certificates
Code language: Shell Session (shell)
Чтобы перевыпустить сертификат с новым списком доменов:
certbot --expand -d existing.com,example.com,newdomain.com
Code language: Shell Session (shell)
Потом можно удалить старый сертификат:
certbot delete --cert-name example
Code 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.