Давайте Encrypt новый орган сертификат , который позволяет выдавать SSL сертификаты бесплатно . Теперь вы можете использовать SSL без каких-либо дополнительных затрат. При использовании сертификата SSL весь трафик между клиентом и сервером шифруется, что значительно повышает безопасность вашего сайта.
Это руководство охватывает установку сертификата Let's Encrypt и автоматическое обновление в Ubuntu.
К концу этого урока у вас будет настройка сервера Apache в Ubuntu 14.04 с Let's Encrypt.
Шаг 1: Предпосылки
Вам понадобится облачный сервер Vultr SSD с установленной Ubuntu 14.04. Вам также потребуется стек LAMP (Apache, PHP и т. Д.). Если на вашем сервере Vultr еще не установлен стек LAMP, обратитесь к следующей статье базы знаний: Как установить Apache, MySQL и PHP в Ubuntu .
После того, как у вас есть работающий LAMP Stack на вашем сервере Ubuntu, вы можете приступить к установке Let's Encrypt.
Чтобы сгенерировать и установить сертификат SSL, вам необходимо Git
клонировать репозиторий Let's Encrypt:
$[ubuntu] apt-get install git
$[ubuntu] git clone https://github.com/letsencrypt/letsencrypt /opt/letsencrypt
Это загрузит установщик Let's Encrypt в /opt/letsencrypt
.
Шаг 2. Создание SSL-сертификата Let's Encrypt
Let's Encrypt проверяет ваш домен, настроив временный процесс веб-сервера на вашем сервере Ubuntu. Этот процесс будет выполняться независимо от вашего сервера Apache. После того, как сертификат SSL был сгенерирован, установщик Let's Encrypt автоматически завершит процесс временного веб-сервера. Затем установщик установит ваш вновь созданный сертификат на веб-сервер Apache.
$[ubuntu] ./letsencrypt-auto --apache -d yourubuntuserver.example
Если вы хотите, чтобы Let's Encrypt генерировал сертификат SSL для еще большего количества доменов, просто добавьте эти домены в команду.
$[ubuntu] ./letsencrypt-auto --apache -d yourubuntuserver.example -d mysslcertificate.example
Эта функция очень удобна для защиты вашего www
субдомена. Прямо сейчас пользователи, которые посещают ваш сайт с www
префиксом, получат ошибку SSL. Такая ошибка повредит вашей репутации. Чтобы решить это, используйте команду как это:
$[ubuntu] ./letsencrypt-auto --apache -d yourubuntuserver.example -d www.yourubuntuserver.example
Клиент Let's Encrypt теперь создаст SSL-сертификат Let's Encrypt не только для, yourubuntuserver.example
но и для www.yourubuntuserver.example
!
Шаг 3: Принудительный SSL
Теперь вы можете заставить свой сервер Apache направлять все HTTP-запросы к HTTPS. Лучший способ сделать это - создать .htaccess
файл в корневой папке www и добавить следующий код для перезаписи:
RewriteEngine On
RewriteCond % 80
RewriteRule ^(.*)$ https://letsencrypt.example/$1 [R,L]
Весь входящий трафик через порт HTTP 80 теперь будет автоматически перенаправлен на порт 443, который использует ваш сертификат SSL SSL LE.
Шаг 4. Автоматическое обновление сертификатов Let's Encrypt
Поскольку Let's Encrypt является бесплатным центром сертификации, SSL не может быть предоставлен в течение одного года или дольше. Все сертификаты Let's Encrypt действительны в течение 90 дней. Однако, если вы хотите автоматически обновить их, это можно автоматизировать с помощью задания cron. Вы можете обновить сертификаты, когда они истекают.
Откройте ваш crontab:
$[ubuntu] crontab -e
Добавьте следующую строку в crontab:
15 5 * * 5 /opt/letsencrypt/letsencrypt-auto renew >> /var/log/le-renew.log
Это задание cron запускает /opt/letsencrypt/letsencrypt-auto renew
команду каждую пятницу в 5:15 утра. В настоящее время мы решили обновить сертификаты, поскольку на большинстве сайтов это обычно период, когда трафик практически отсутствует. Поэтому посетители не заметят каких-либо задержек, поскольку сервер находится под большой нагрузкой во время обновления и проверки всех сертификатов Let's Encrypt.
Ваш Ubuntu Server теперь работает с полнофункциональным стеком LAMP, а ваш веб-сайт использует форму SSL-сертификата Let's Encrypt с автоматической настройкой обновления.
На вашем сервере можно использовать более одного SSL-сертификата Let's Encrypt; просто повторите шаг № 2 для каждого домена.
На этом мы завершаем наш урок, спасибо за чтение.