Вступление
Это руководство покажет вам, как настроить сертификат TLS / SSL изLet’s Encrypt на сервере Ubuntu 14.04, на котором Apache работает в качестве веб-сервера.
Сертификаты SSL используются на веб-серверах для шифрования трафика между сервером и клиентом, обеспечивая дополнительную безопасность для пользователей, обращающихся к вашему приложению. Let’s Encrypt предоставляет простой способ получить и установить доверенные сертификаты бесплатно.
Предпосылки
Для завершения этого руководства вам понадобится:
-
Сервер Ubuntu 14.04 с пользователем sudo без полномочий root, который вы можете настроить, следуя нашему руководствуInitial Server Setup
-
Веб-сервер Apache установлен с правильно настроеннымone or more domain names
Когда вы будете готовы двигаться дальше, войдите на свой сервер, используя свою учетную запись с поддержкой sudo.
[[step-1 -—- download-the-let’s-encrypt-client]] == Шаг 1. Загрузите клиент Let’s Encrypt
Первым шагом к использованию Let's Encrypt для получения сертификата SSL является установка программного обеспеченияcertbot
на ваш сервер. Разработчики Certbot поддерживают свой собственный репозиторий программного обеспечения Ubuntu с последними версиями программного обеспечения. Поскольку Certbot находится в такой активной разработке, стоит использовать этот репозиторий для установки более нового Certbot, чем предусмотрено Ubuntu.
Сначала добавьте репозиторий:
sudo add-apt-repository ppa:certbot/certbot
Вам нужно будет нажатьENTER
для подтверждения. После этого обновите список пакетов, чтобы получить информацию о пакете нового репозитория:
sudo apt-get update
И, наконец, установите Certbot из нового репозитория с помощьюapt-get
:
sudo apt-get install python-certbot-apache
Клиентcertbot
Let's Encrypt готов к использованию.
[[step-2 -—- set-up-the-ssl-certificate]] == Шаг 2 - Настройте сертификат SSL
Создать сертификат SSL для Apache с помощью клиента Let’s Encryptcertbot
довольно просто. Клиент автоматически получит и установит новый сертификат SSL, действительный для доменов, указанных в качестве параметров.
Чтобы выполнить интерактивную установку и получить сертификат, охватывающий только один домен, выполните командуcertbot
с:
sudo certbot --apache -d example.com
Если вы хотите установить один сертификат, действительный для нескольких доменов или поддоменов, вы можете передать их в качестве дополнительных параметров команде. Первым доменным именем в списке параметров будет доменbase, используемый Let's Encrypt для создания сертификата, и по этой причине мы рекомендуем вам передать голое доменное имя верхнего уровня первым в списке, а затем любыми дополнительными поддоменами или псевдонимами:
sudo certbot --apache -d example.com -d www.example.com
В этом примере доменbase будетexample.com
.
Вам будет предложено указать адрес электронной почты для восстановления утерянного ключа и уведомления, а также вам необходимо будет согласиться с условиями обслуживания Let Encrypt. Затем вам будет предложено выбрать между включением доступаhttp
иhttps
или принудительным перенаправлением всех запросов наhttps
.
Когда установка будет завершена, вы сможете найти сгенерированные файлы сертификатов в/etc/letsencrypt/live
. Вы можете проверить статус своего SSL-сертификата по следующей ссылке (не забудьте заменитьexample.com своим доменомbase):
https://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest
Теперь у вас должна быть возможность получить доступ к своему сайту с префиксомhttps
.
[[step-3 -—- verifying-certbot-auto-Renewal]] == Шаг 3 - Проверка автоматического продления Certbot
Сертификаты Let Encrypt действительны только в течение 90 дней. Однако установленный нами пакет certbot позаботится об этом, запустивcertbot renew
два раза в день с помощью таймера systemd. В дистрибутивах, отличных от systemd, эта функциональность обеспечивается скриптом cron, помещенным в/etc/cron.d
. Задание выполняется два раза в день и обновляет любой сертификат, срок действия которого истекает в течение тридцати дней.
Чтобы протестировать процесс обновления, вы можете выполнить пробный запуск сcertbot
:
sudo certbot renew --dry-run
Если вы не видите ошибок, все готово. При необходимости Certbot обновит ваши сертификаты и перезагрузит Apache, чтобы получить изменения. Если процесс автоматического продления не удастся, Let’s Encrypt отправит сообщение на указанный вами адрес электронной почты, предупреждая вас, когда ваш сертификат скоро истечет.
Заключение
В этом руководстве мы увидели, как установить бесплатный SSL-сертификат от Let Encrypt для защиты веб-сайта, размещенного на Apache. Мы рекомендуем вам время от времени проверять официальныйLet’s Encrypt blog на наличие важных обновлений и читатьthe Certbot documentation для получения дополнительных сведений о клиенте Certbot.