Настройка сертификата SSL для сайта на веб-сервере Apache с помощью сервиса Let’s Encrypt

Задача: привязать к сайту SSL-сертификат и использовать защищенное соединение HTTPS.

    • Преимущества использования SSL-сертификата:
  • данные между клиентом и сервером (явки, пароли) передаются по защищенному соединению HTTPS;
  • улучшение ранжирования Гуглом;
  • URL-сайта подсвечивается зеленым значком в адресной строке браузера - эстетическое наслаждение.

В качестве центра проверки подлинности сертификата будет использоваться бесплатный сервис Let's Encrypt.

Внимание! Нижеописанный метод не действует с 2021 года. Использовать Certbot.

Настройка веб-сервера Apache:

sudo a2enmod ssl
sudo a2ensite default-ssl

Получение SSL-сертификата от Let's Encrypt:

sudo apt-get install git
sudo git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
cd /opt/letsencrypt
sudo -H ./letsencrypt-auto certonly --standalone -d site.com -d www.site.com

В директории /etc/letsencrypt/live должна появиться директория site.com, содержащая новые сертификаты.

Если появляется ошибка "Problem binding to port 80: Could not bind to IPv4 or IPv6.", остановить службу Apache, повторить последнюю команду и запустить Apache заново.

Настройка виртуального хоста на порту 443:

SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/site.com/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/site.com/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/site.com/fullchain.pem

Дополнительно можно настроить переадресацию HTTP -> HTTPS. В дефолтный виртуальный хост добавляем:

Redirect / https://www.site.com/

Перезапуск Apache.

Настройка автоматического продления SSL-сертификата Let's Encrypt - добавляем в crontab задание:
0 0 1 * * root service apache2 stop && /opt/letsencrypt/letsencrypt-auto renew && service apache2 start

Добавить комментарий

Ваш адрес email не будет опубликован.

Confirm that you are not a bot - select a man with raised hand: