Подстановочные сертификаты поддоменов LetsEncrypt с использованием VestaCP
Введение
В настоящее время все веб-сайты пытаются перейти от HTTP к HTTPS. Причина проста, HTTPS обеспечивает большую безопасность. Но HTTPS не новый. Это было вокруг в течение некоторого времени теперь. Почему же тогда внезапный всплеск для сдвига? Потому что браузеры начали выдавать предупреждения, когда веб-страницы, содержащие конфиденциальные поля ввода, не используют HTTPS (например, страница входа).
SSL Сертификаты
Домен, который пытается перейти на HTTPSнужен подписанный SSL сертификат. Ан SSL сертификат может быть подписан самостоятельно или может быть подписан доверенным сторонним поставщиком (рекомендуется). Хотя существует множество (платных) доверенных сторонних поставщиков, LetsEncrpyt является самым популярным (бесплатным) провайдером. LetsEncrypt предоставляет бесплатно SSL сертификаты действительны в течение 3 месяцев. Сертификаты могут быть продлены до истечения срока действия (бесплатно). Итак, однажды SSL сертификат установлен, администратор домена просто должен обновлять его каждые 3 месяца.
Как перейти от HTTP к HTTPS?
Один субдомен SSL сертификат + VestaCP
ВестаКП пользователей, у которых сайт работает на один субдомен (как www.example.com
) можно выполнить следующие действия:
- Войдите в панель управления Vesta
- Перейти к ВЕБ
- Нажмите РЕДАКТИРОВАТЬ для домена, который нуждается в SSL сертификат
- Выберите SSL Поддерживать флажок, а затем на Поддержка LetsEncrypt
- Нажмите Сохранять
- Теперь зайдите на свой сайт с https (
https://www.example.com
)
VestaCP позаботится об автоматическом продлении SSL сертификаты для вас.
Субдомен с подстановочным знаком SSL сертификат + VestaCP
Это становится немного сложнее, когда пользователи хотят SSL сертификат для поддомен с подстановочным знаком (как *.example.com
). Это требуется, например, когда веб-приложение имеет динамические субдомены для своих клиентов.
- Веб-клиент:
lorem.example.com
- Сам клиент:
ipsum.example.com
- Боль клиента:
dolor.example.com
Давайте зашифруем не предоставьте скрипт для автоматического продления сертификатов с подстановочным поддоменом. есть сценарий certbot-авто который можно настроить в cron (при использовании Linux), который может автоматически продлевать один домен SSL сертификаты. Этот же скрипт можно использовать для вручную установить и обновить поддомены с подстановочными знаками.
В следующих шагах предполагается, что используется ОС Linux.
- Получить
certbot-auto
полезность
$ wget
- Сделать его исполняемым для всех
$ chmod a+x ./certbot-auto
- Установите поддомен с подстановочными знаками SSL сертификат
$ sudo ./certbot-auto certonly \
--server \
--manual --preferred-challenges dns \
-d *.example.com -d *.scm.example.com
Примечание: Пожалуйста, замените example.com
с вашим доменом.
- Вы получите сообщение, похожее на это
-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.scm.example.com with the following value:
5GFgEqWd7AQrvHteRtfT5V-XXXXXXXXXXXXXX
Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue
НЕ НАДО Нажмите Войти пока что
Вам нужно открыть свой VPS/общий хостинг и создайте/обновите указанную запись DNS TXT.
Откройте другой терминал, чтобы убедиться, что запись DNS TXT была успешно развернута. Вы можете сделать это с
$ nslookup -type=TXT _acme-challenge.scm.example.com
Вы должны получить вывод, подобный этому
Server: 192.XXX.XXX.XXX
Address: 192.XXX.XXX.XXX#XX
Non-authoritative answer:
_acme-challenge.scm.example.com text = "5GFgEqWd7AQrvHteRtfT5V-XXXXXXXXXXXXXX"
- Теперь вернитесь к предыдущему терминалу и нажмите
Enter
.
Вы получите такой вывод
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/example.com/privkey.pem
Your cert will expire on 2018-06-12. To obtain a new or tweaked version of this
certificate in the future, simply run certbot-auto again. To non-interactively
renew *all* of your certificates, run "certbot-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: hntps://letsencrypt.org/donate
Donating to EFF:
Вы успешно установили SSL сертификаты для поддомена с подстановочными знаками.
Настроить ВестаКП
Вам нужно сообщить VestaCP о вновь установленных сертификатах.
В панели управления Весты
- Перейти к ВЕБ > example.com > РЕДАКТИРОВАТЬ
- Выбирать SSL Поддерживать флажок (НЕ НАДО выберите Поддержка LetsEncrypt флажок).
- Добавьте ключи, как указано ниже, вручную в панели управления Vesta в соответствующей текстовой области. (вы можете запустить следующие команды в терминале, чтобы просмотреть файлы).
$ more /etc/letsencrypt/live/example.com/cert.pem
^ Copy contents into "SSL Certificate" field.
$ more /etc/letsencrypt/live/example.com/privkey.pem
^ Copy contents into "SSL Key" field.
$ more /etc/letsencrypt/live/example.com/chain.pem
^ Copy contents into "SSL CA / Intermediate" field.
Продление сертификата
Подстановочные сертификаты субдоменов не могут быть автоматически продлены. Но ручное обновление просто.
Команда для обновления должна быть точно такой же, как команда для установки сертификата.
Пример:
$ sudo ./certbot-auto certonly \
--server \
--manual --preferred-challenges dns \
-d *.example.com -d *.scm.example.com
Затем вновь сгенерированные ключи сертификатов также должны отражаться в панели управления Vesta.
Выполните шаги, указанные в «Настроить ВестаКП» раздел.
Обновление завершено.