Закрыть
E-mail:
Пароль:
Забыли пароль?
В каталоге проекта: 13 755 веб-студий, 967 CMS, 238 780 сайтов.
РегистрацияCMS MagazineВход
CMS Magazine CMS Magazine

Бесплатный HTTPS. Быстрый старт с Let’s Encrypt Certbot + Nginx, Digital Ocean, HTTP/2

07.02.2018

Источник:  Студия Флаг

Что это
Let’s Encrypt — проект Mozilla и еще нескольких компаний стартовавший в 2014 году как удостоверяющий центр для предоставления безопасных, при этом бесплатных TLS (SSL) сертификатов. Срок жизни сертификата — 3 месяца.

Certbot — ClI — программа для Linux, помогающая получать и устанавливать сертификаты от Let’s Encrypt.

LE-test

Аутентификатор и инсталлятор
Аутентификатор проверяет принадлежит ли вам домен, получает сертификат и кладет его к себе в /etc/letsencrypt .

Инсталлятор устанавливает сертификат на ваш сервер.

3 типа аутентификации (challenges)
Ниже приведены три доступных для LE способа проверить, принадлежит ли вам домен.

1. HTTP. В папке .well-known/acme-challenges создается временный файл и снаружи проверяется, доступен ли этот файл.

2. TLS SNI (в народе SSL). Проверка по временному самоподписанному сертификату.

3. DNS. В ресурсную запись домена TXT добавляется код, затем проверяется снаружи есть ли такая запись.

Выбор типа аутентификации можно передать с помощью, например, —preferred-challenges tls-sni.

5 плагинов
1. Apache. Аутентификатор, инсталлятор. Поддерживает tls аутентификацию. Подходит, если у вас Apache с поддержкой библиотеки libaugeas0 1+.

2. Webroot. Аутентификатор. Поддерживает http аутентификацию. Подходит, если у вас старый или нестандартный веб-сервер.

3. Nginx. Аутентификатор, инсталлятор. Поддерживает tls аутентификацию. Подходит, если у вас Nginx.

4. Standalone. Аутентификатор. Поддерживает http и tls аутентификацию. Сам поднимет веб-сервер для аутентификации.

5. Manual. Аутентификатор. Поддерживает dns, http и tls аутентификацию. Подходит, если вы хотите все сделать руками.

Выбрать плагин можно с помощью команд типа —nginx или —webroot. Выбрать отдельно аутентификатор, отдельно инсталлятор можно, например, через -a webroot -i apache.

Установка certbot
Чтобы установить Certbot, достаточно перейти на https://certbot.eff.org/, выбрать дистрибутив Linux и тип веб-сервера.

Чтобы узнать версию Linux, выполните

cat /etc/issue
Чтобы узнать ваш тип веб-сервера есть много способов, например

netstat -nlpt | grep 80

Обновление сертификата
Обновление всех сертификатов можно запустить командой certbot renew . Если сертификаты обновлять еще рано, certbot не станет их обновлять.

Запуск в холостую (проверка вашей команды)
Однако, если вам нужно проверить, доступно ли обновление сертификата/ов определенным способом, рекомендую использовать ключ —dry-run , который сымитирует перевыпуск сертификатов, проверив правильность вашей команды.

Задание для планировщика
Когда вы проверили свою команду для обновления сертификатов, ее следует добавить в планировщик cron. Для этого выполните crontab -e , затем в открывшемся редакторе допишите строку 0 0,12 * * * certbot renew . Данное правило будет выполняться дважды в день каждый день. Если сертификаты обновлять будет рано, то Certbot не станет их обновлять.

Нюансы
Кеш сертификата в браузере
Браузер (у меня Chrome) довольно сильно кеширует данные сертификата и обычным cmd+shift+R ( ctrl+shift+R на Windows) не всегда получается получить новые данные. Я нашел кнопку, которая сбрасывает кеш сертификата. Нажмите cmd+Y (история), дальше нажмите очистить , затем поставьте галку на «Изображения и другие данные, сохраненные в кэше».

chrome-ssl

HTTP/2 — на десерт
Если у вас Nginx версии 1.9.5+ (проверять с помощью nginx -v)
Если ваш Nginx собран с поддержкой http2 модуля (проверять с помощью nginx -V)

Вы можете дописать после listen 443 ssl параметр http2 и у вас будет http/2 соединение!

http2

 

Пошаговое обучающее видео— https://youtu.be/HaLy92BTALI

Ссылка на статью: https://flagstudio.ru/%D0%B1%D0%BB%D0%BE%D0%B3/lets_encrypt_certbot_nginx_digital_ocean


Комментарии (Facebook)


CMS Magazine CMS Magazine
Реклама
RSS-подписка
CMS Magazine CMS Magazine
CMS Magazine