CloudFalre предоставляет несколько моделей работы с сайтом по безопасному протоколу с использованием сертификата безопасности.
Основное отличие от Flexible заключается в том, что между CF и сервером теперь устанавливается защищённое подключение. Это позволяет не допустить перехвата трафика на данном этапе.
CF подключается к нашему серверу с самоподписанным сертификатом, но при этом сервис точно знает, что мы — это мы.
Таким образом мы избавляемся от необходимости покупать дорогой сертификат и теперь можем использовать бесплатный — самоподписанный.
Full SSL Включение и настройка бесплатного SSL сертификата
Данный сертификат включается автоматически, когда мы выбираем модель безопасного подключения к нашему сайту.
Этот сертификат можно использовать как на корневом домене (пример. kostyakulakov.ru), так и на поддомене (пр. web.kostyakulakov.ru)
Выбор модели безопасного подключения
Далее в разделе SSL выбираем нашу модель — Full.
Создание бесплатного сертификата SSL
Теперь необходимо сгенерировать наш будущий сертификат, который мы будем использовать на нашем сервере.
Спускаемся в разделе Crypto на пункт Origin Certificates и нажимаем Create Cerificate
Выбираем предпочитаемый способ создания сертификата, в данной статье мы придерживаемся автоматической генерации сертификата CF.
В разделе Private key type выбираем RSA.
Нажимаем Next, чтобы получить наш бесплатный SSL сертификат
Сохранением данных сертификата
Save both the private key and certificate below to your web server. To save, copy the contents of the boxes below and paste them into different files on your web server, e.g., example.com.pem and example.com.key. After saving, select your web server from the dropdown and click the “Show Instructions” button for an installation guide.
Нам необходимо подготовить два файла, содержание которых будет соответствовать сгенерированным ключам.
- vksongs.ru.pem — в данный файл скопируем информацию из раздела Origin Certificate
- vksongs.ru.key — в данный файл скопируем информацию из раздела Private key
Настройка веб-сервера для работы с бесплатным сертификатом SSL
В предыдущем разделе мы сгенерировали два файла .pem и .key, теперь необходимо создать папку на нашем сервере и перенести туда наши сертификаты.
Для работы с FTP сервера мы будем использовать FileZilla.
- Создаем папку для хранения .pem и .key
- Загружаем в эту папку файлы .pem и .key
Наш путь до сертификатов: /usr/home/ssl
Настройка конфигурации NGINX для работы с бесплатным сертификатом SSL
Откроем файл конфигурации nginx, у нас он находится по пути:
Открываем и находим нашу конфигурацию:
Нам необходимо разрешить серверу слушать порт 443, который отвечает за безопасный протокол (SSL).
для этого установим директиву
Должно получиться следующее:
Теперь наш сервер умеет слушать по 443 протоколу, соответственно, разрешён доступ по https.
Следующий шаг — включение обработки безопасного подключения для нашего сайта:
В конечном итоге должно получиться следующее:
В завершении необходимо перезапустить веб-сервер:
На данный момент ваш сайт будет открываться по https и по http.
Мы достигли цели и теперь мы открываемся по https, но в некоторых случаях необходимо сделать, чтобы ваш сайт открывался постоянно по https.
Для этого мы можем дополнить конфигурацию Nginx следующими правилами:
Таким образом мы достигнем того, что наш сервер будет перебрасывать все подключения по http (80 порт) на https(443 порт).
Для этого нам необходимо убрать прослушку порта из секции, где обрабатывается наш сайт, и вынести дополнительные правила в новую секцию.
На данном этапе можно завершить настройку вашего сервера.
Настройка веб-сервера Apache
Для настройки Apache нам необходимо дополнить секцию нашего виртуального сервера следующими параметрами:
Мы должны включить ядро обработки безопасного соединения и указать необходимые пути до наших сертификатов.
У меня получилось следующее:
Обратите внимание, что
Не активна, эта директива служит для того, чтобы сделать подключение по безопасному протоколу всегда активным, аналог выносной секции в nginx.
Замечание для связки Apache и NGINX
Если вы произвели настройку Apache на https, то необходимо в директиве proxy_pass изменить http на https
Как и обещал, вот инструкция как получить сертификат SSL для сайта: бесплатно, без линуксов, если ваша панель управления сайтом не поддерживает его выпуск в автоматическом режиме.
Этот вариант подходит например тем, кто хостится у ру-центра (nic.ru) — там специально не вводят автоматику установки сертификата, чтобы продавать задорого то, что давно не нужно.
Увы, большинство инструкций или ведут на платные сервисы, или на линуксовые инструкции для хостингов, чтобы найти вариант «на домашнем компе и без заморочек с автоматикой», пришлось напрячься, так что если кому-то время сэкономлю — будет уже неплохо.
Распаковываем в удобное место, запускаем wacs.exe:
Выбираем N для создания нового сертификата, и 2 для ручной настройки:
Вводим адрес нашего домена, и тут я рекомендую через запятую ввести его в формате «www.домен».
Далее у нас просит адрес вашего FTP с сайтом. Посмотреть его можно в панели управления сайтом на вашем хостинге, при чём путь должен быть именно до папки, где хранятся сами файлы сайта. Если вы тоже используете nic.ru, то это проще всего сделать путём создания нового пользователя FTP — просто укажите ему доступ к папке конкретного сайта:
Далее нам надо отказаться от загрузки вебконфига (просто тыкаем enter), ввести имя пользователя FTP, которого мы создали, выбрать ввод пароля в консоли (2), ввести сам пароль, отказаться от его сохранения (enter):
Следующим пунктом идёт место сохранения сертификата. Проще всего — в папке программы создайте папку SSL, и скопирeйте прямо из окна проводника путь (для вставки скопированного текста — нажмите правой кнопкой мыши в окне программы):
Далее соглашаемся ввести пароль от приватного ключа в консоли (2), придумываем и вводим пароль, отказываемся от сохранения (enter), и отказываемся от выполнения дополнительных скриптов (3):
А в созданной папке для сертификатов появилось 4 файла:
Нам отсюда обычно нужны только файлы сертификата (-crt) и ключа (-key).
Дальше — надо загрузить их на хостинг, и тут уже зависит от конкретного хостинга. Я покажу на примере ру-центра.
В панели управления хостингом выбираем «Сайты», потом ваш сайт, вкладку «Безопасность», при необходимости включаем «Защищенное HTTPS-соединение» и нажимаем на «Добавить/сменить сертификат».
Тут нам надо скормить полученный файлы хостеру. Выбираем напротив «сертификат» кнопку «загрузить файл», грузим файл с crt в названии, аналогично с приватным ключом, вводим под ним пароль, который мы задали ранее, и нажимаем на «Установить»:
Поздравляю, сертификат установлен!
Поверить срок действия можно в разделе «безопасность» конкретного сайта:
Через без копеек 3 месяца надо будет повторить процесс, но win-acme сохранил данные (кроме паролей), и при запуске надо будет выбирать не «N: Create certificate», а «R: Run renewals».
Статья посвящена обзору и сравнению различных SSL-сертификатов.
Мы все заботимся о безопасности: на машину ставим сигнализацию, а двери квартиры закрываем на замок. Точно так же сайты обеспечивают себе безопасность. Один из главных элементов этой безопасности – SSL-сертификат, применяемый еще с далекого 1994 года. Именно он обеспечивает безопасный канал связи между сайтом и пользователем.
SSL-сертификаты бывают трех видов:
• DV (Domain Validation) – проверка домена, быстрая выдача от 15 минут;
• OV (Organization Validation) – проверка организации, выпускается за несколько дней;
• EV (Extended Validation) – расширенная проверка (знаменитый зеленый замочек, как у Timeweb), выпускается за неделю.
Сегодня мы будем рассматривать сертификаты с проверкой домена (DV), причем только бесплатные варианты, и выберем, какой сертификат больше всего подходит для старта.
Let’s Encrypt – классика жанра
Let’s Encrypt (letsencrypt.org) – некоммерческая организация, созданная в 2012 году, обрела свою популярность исключительно из-за бесплатных сертификатов (на 90 дней).
- сертификат сроком на 90 дней;
- поддержка IDN (с 2016 года);
- уведомления об истечении сертификата.
- требуется установить клиент на сервер для получения сертификата или воспользоваться сторонними сервисами, такими как sslforfree.com или zerossl.com;
- из-за этого увеличивается время выдачи – в среднем оно занимает 15 минут;
- на сторонних сервисах всего один способ подтверждения по HTTP, например, на бесплатных хостингах часто используется система против ботов — тут-то получить сертификат и не получится,
- не поддерживаются некоторые операционные системы и старые браузеры, не очень большая совместимость,
- нет гарантии безопасности,
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Free SSL Space
Free SSL Space (freessl.space) – довольно новый проект, партнерами которого являются один из крупнейших сертифицирующих центров Sectigo CA (ранее Comodo CA), выпускающий эти сертификаты, и крупный продавец платных сертификатов GoGetSSL (gogetssl.com).
- защита www и основного сайта;
- уведомления об истечении сертификата;
- гарантия 10,000$ от GoGetSSL;
- поддержка 99,6% устройств (очень высокая совместимость);
- получение сертификата — не более 5 минут;
- разные способы подтверждения домена (HTTP, CNAME и почта);
- сертификат на 90 дней с безлимитными продлениями;
Немного о платных сертификатах
Под конец статьи хочется напомнить, что бесплатный сертификат никогда не заменит платного и рекомендуется для использования только во время тестирования. Если ваш проект является серьезным, советуем купить платный сертификат – это надежнее, да и поводов для волнения меньше.
Хорошим примером соотношения цены и качества будет Sectigo Positive SSL — можете купить его по низкой цене в панели Timeweb: поддерживается один домен, но на год, а не на 90 дней.
Выводы
По быстроте и удобству выдачи несомненная победа у Free SSL Space. С безопасностью у него тоже все в порядке, именно поэтому мы рекомендуем использовать именно его.
SSL сертификат — это цифровое удостоверение сайта.
Он необходим, если вы хотите настроить доступ к сайту по протоколу HTTPS.
Обычно сертификаты стоят денег, но можно самостоятельно и легко сгенерировать бесплатный с помощью Lets Encrypt.
Подготовка
Для получения и установки сертификата вам понадобится доступ к серверу по протоколу SSH. Вам нужно подключиться через терминал с помощью команды
либо поискать веб-консоль в панели управления вашим хостингом.
Для получения и обновления сертификата вам потребуется программа Certbot, которая будет работать с сервисом Let’s Encrypt. Чтобы её установить, введите следующие команды:
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
Настройка одной командой
Следующий шаг зависит от того, какой веб-сервер у вас установлен.
После ввода одной из данных команд вы увидите ответ приблизительно следующего содержания.
Введите ваш или произвольный email адрес и нажмите Enter.
Теперь вам предлагают ознакомиться с правилами использования сервиса. Введите A и нажмите Enter.
Вам предлагают согласиться с получением почтовой рассылки на ваш адрес. Смело вводим N для отказа и нажимаем Enter.
Наконец, программа выведет все ваши домены, которые нашла у Apache или Nginx и предложит ввести номер того домена, который вы хотите подключить. В моём случае это будет №1. Введите число и нажмите Enter.
Вам также предложат выбрать, желаете ли вы оставить сайт доступным и по HTTP и по HTTPS или только HTTPS. Выбираем подходящий вариант и нажимаем Enter.
Программа получила все необходимые сертификаты и положила их в директорию
/etc/letsencrypt/live/<имя вашего домена>/cert.pem
Попутно она создала новый конфиг для вашего веб-сервера и настроила доступ к сайту по протоколу HTTPS. Конфигурационный файл можно найти по адресу
Более подробная информация изложена на сайте https://letsencrypt.org/
Продление
Сертификат Let’s Encrypt выдаётся на 3 месяца. Для обновления достаточно вызвать команду
и затем перезагрузить сервер. Удачи!
SSL (Secure Sockets Layer — уровень защищенных сокетов) представляет собой криптографический протокол, который обеспечивает защищенную передачу информации в Интернете. Сервис CF поможет вам получить бесплатно ssl сертификат.
Чаще всего протокол SSL используется с самым распространенным протоколом передачи гипертекста – http. О наличии защищенного соединения свидетельствует суффикс «s» – протокол будет называться http. Стандартный порт http – 80, а http – 443.
Подготовка к подключению ssl
Следующим шагом будет выбор схемы работы с веб-сайтом. Переходим в раздел Crypto и SSL (with SPDY) выбираем Flexible.
Вообще сервис предоставляет 4 схемы работы с веб сайтом: без шифрования на всей протяженности запроса и 3 новых варианта:
Первая из них не требует никаких изменений на стороне сервера, трафик при этом передается между прокси-серверами и вашим ресурсом в открытом виде.
Вариант Full SSL допускает использование любого самоподписанного сертификата, что ненамного надежнее первой схемы и защищает трафик только от пассивного прослушивания. Поэтому в качестве рекомендуемого варианта называется третья опция, требующая наличие у сервера валидного сертификата от общепризнанных ЦС.
В дальнейшем предполагается использование собственного CF CA, позволяющего защитить канал между сервером и прокси (при этом в браузерах сертификаты CF CA признаваться не будут, схема планируется исключительно для служебных целей). Кроме того, в будущем планируется внедрить поддержку certificate pinning.
Но для наших целей мы выбираем Flexible.
Панель управления закрывать не стоит, сюда мы ещё вернёмся несколько раз.
Для работы с ssl CF существует несколько основных плагинов, это:
Установить их можно через менеджер плагинов, это труда не составит.
После установки нам нужно настроить плагины.
Переходим в раздел Settings плагина.
Для начала мы должны заполнить несколько основных полей.
Также стоит переключить Development mode и http Protocol Rewriting в on.
После этого сохраняем настройки нажав на Update options.
На этом настройка плагинов закончена.
Настройка системных переменных для работы по http
Настройка правил в панели управления
Последний пункт, который нам остаётся проделать это поставить постоянное использования http ( ssl ) для этого переходим в панель управления. Переходим в Page Rules, переводим опцию Always use http в статус ON и добавляем правило Add Rule.
Время на прочтение
Если вам нужен SSL-сертификат, но вы не являетесь специалистом в веб-технологиях, то эта заметка для вас. Описан простой способ выпуска базового SSL-сертификата Let’s Encrypt в ручном режиме, на локальном компьютере с Windows, с помощью приложения Certbot. Этот способ позволяет получить файлы SSL-сертификата в папку на своём локальном компьютере, после чего можно установить сертификат на свой хостинг.
Потребность в SSL-сертификатах возникла у меня в связи с тем, что срок старых истёк, а создать новые оказалось невозможным из-за возникших ограничений на доменные зоны RU и РФ. Если у вас такая же проблема или вам просто надоело искать веб-сервис для выпуска SSL-сертификатов, то эта заметка вам поможет.
Поскольку я пока не знаю наилучшего пути, то ниже просто опишу ту последовательность действий, которую сам выполнил и которая позволила мне создать SSL-сертификаты для десяти своих доменов (в том числе в зонах RU и РФ), а значит и вам этот способ может помочь.
Создание SSL-сертификата на локальном компьютере
Работа с программой Certbot осуществляется через командную строку или PowerShell (я использовал PowerShell). На время выпуска сертификата, естественно, компьютер должен быть подключен к сети Интернет.
- Открыл PowerShell (х86) с правами администратора.Для этого нажал на кнопку «Пуск» и набирая первые буквы названия PowerShell увидел нужный пункт в результатах поиска, затем правым щелчком мыши по названию найденной программы открыл контекстное меню и в нём выбрал пункт «запуск от имени администратора».
- В окне PowerShell с помощью команд cd перешёл в каталог Certbot (вводил как показано на скриншоте и нажимал в конце строки клавишу Enter):
Поскольку я вводил по два доменных имени (обычное и с www), то после нажатия Enter программа точно так же просила создать ещё один проверочный файл.
С помощью Filezilla Client я создал нужные файлы по требуемому адресу, создав нужные директории. Выделенный текст из окна PowerShell можно копировать просто правым кликом, или привычным сочетанием клавиш Ctrl+C.
Вот и всё, сертификаты готовы!
Для установки их на хостинг мне потребовались три файла из четырёх, из данной папки:
cert1.pem – сертификатchain1.pem – промежуточный сертификатprivkey1.pem – приватный ключ
Эти файлы со своего компьютера не удаляйте, поскольку при следующем выпуске сертификатов (их приходится создавать заново каждые 90 дней) Certbot проверит их наличие и создаст рядом новые, со следующим порядковым номером. Для установки на хостинг нужно будет использовать, конечно, новые.
Ограничения
Через каждые 90 дней нужно перевыпускать сертификат заново.
Я ещё не озадачился тем, как автоматизировать описанный выше процесс (мне интересен перевыпуск сертификата именно на локальном компьютере с Windows). Было бы здорово, если бы знающий человек написал в комментариях как это сделать.
В данной статье мы посмотрим, как можно установить бесплатный сертификат Let’s Encrypt на web-сайт, работающий на Internet Information Servises (IIS). Наш справочник уже содержит мануалы по установке такого сертификата на Ubuntu и на CentOs, поэтому отложим теорию и приступим.
В качестве примера для установки сертификата мы будем использовать VPS, работающий на Windows Server 2019. На нашем сервере мы развернули web-сервер из набора серверов IIS, на котором запустили сайт my-domain.host. Доступ к сайту осуществляется по протоколу http.
Задача – получить сертификат из Центра Сертификации Let’s Encrypt, установить его на наш web-сервер и привязать к нашему домену. Также, мы перенаправим трафик HTTP на протокол HTTPS. Другими словами, при попытке подключится к сайту по протоколу HTTP, система будет включать протокол HTTPS.
Получение сертификата
Наиболее простым способом установки SSL-сертификата от Let’s Encrypt является применение консольной утилиты WACS (Windows ACME Simple). WACS позволяет осуществить автоматический выпуск и привязку SSL-сертификата к сайтам, работающим на IIS. На момент написания данной статьи актуальной версией утилиты являлась версия v2.1.22.1289. Загрузка клиента WACS доступна со страницы проекта на GitHub – https://github.com/win-acme/win-acme/releases.
После загрузки архива распакуйте его содержимое в каталог C:inetpubletsencrypt на вашем виртуальном сервере. Далее, запустите на исполнение файл wacs.exe. В открывшемся меню нужно выбрать опцию создания сертификата с установками по умолчанию. Для того, чтобы это сделать, введите символ N.
На следующем шаге утилита предложит выбрать сайт, для которого будет выпускаться сертификат. Поскольку в нашем случае в IIS находится всего один сайт, то мы можем нажать Enter. Если в списке будут находиться несколько сайтов, вы можете выбрать один или несколько из них, перечислив их номера через запятую. После чего нажмите символ A, чтобы выбрать все привязки, и символ y, чтобы подтвердить свой выбор.
Далее, утилита предложит открыть для прочтения Пользовательское соглашение, после чего попросит вас подтвердить своё согласие с ним. Необходимо будет ещё раз нажать y.
После этого нужно будет ввести адрес электронной почты для связи с вами по возможным проблемам с SSL-сертификатом. Далее, утилита запустит процесс выпуска сертификата и привязки его к указанным вами доменам. В заключении нажмите Q для завершения работы WACS.
После этого ваш домен должен уже быть доступен при подключении к нему с использованием протокола HTTPS. Проверьте это, набрав в браузере имя вашего сайта с префиксом https://.
Настройка протокола HTTPS
Плюс ко всему, утилита WACS создаёт задание в Планировщике заданий (Task Scheduler), предназначенное для продления срока действия установленного сертификата в автоматическом режиме. Задание будет ежедневно запускать на исполнение следующую команду:
C:inetpubletsencryptwacs.exe —renew —baseuri «https://acme-v02.api.letsencrypt.org/»
Поскольку наш сайт теперь доступен по 443-му порту (протокол HTTPS), есть смысл отказаться от использования доступа по протоколу HTTP. Для этого необходимо перенаправить трафик HTTP на наш HTTPS-сайт. Чтобы это сделать, потребуется произвести на сервере установку модуля Microsoft URL Rewrite Module. Данный софт доступен для загрузки по ссылке – https://www.iis.net/downloads/microsoft/url-rewrite.
После установки утилиты в профиле сайта на IIS появится кнопка URL Rewrite.
Теперь, перейдя в браузере по адресу вашего сайта с использованием протокола HTTP, веб-сервер должен будет перенаправить вас на адрес вашего сайта, но уже с префиксом https://.
Вместо заключения
В заключение всё-таки несколько слов о теории.
SSL-сертификаты делятся на три основных типа:
- сертификаты, выпускаемые через проверку прав на домен – Domain Validated (DV);
- сертификаты, подтверждающие домен и его принадлежность конкретному юридическому лицу – Organization Validation (OV);
- и, наконец, сертификаты с расширенной проверкой – Extended Validation (EV).
Сертификат от Let’s Encrypt, получение которого мы описали в данном руководстве, относится к первой категории.
Также, сертификаты могут быть платными и бесплатными. Рассмотренный в нашей статье SSL-сертификат от Let’s Encrypt является бесплатным. Но является ли это его неоспоримым преимуществом?
С одной стороны, да. Бесплатный сертификат обходится потребителю заведомо дешевле, чем платный. Но, с другой стороны, бесплатные сертификаты всё же имеют некоторые минусы. Во-первых, бесплатные сертификаты имеют сравнительно короткий срок действия. По истечении его сертификату требуется перевыпуск. Происходит это постоянно через определённые промежутки времени. Во-вторых, Удостоверяющие Центры, выпускающие платные SSL-сертификаты, проверяют владельцев доменов. Тем самым они формируют более высокое доверие к сайту со стороны поисковых систем и пользователей. В третьих, преимуществом платных сертификатов является наличие финансовых обязательств Центра Сертификации перед доменом. Другими словами, при утечке с ресурса пользовательских данных пострадавший сайт получит компенсацию. Конечно, при условии, что на сайте использовался платный сертификат.
SSL-сертификат — это цифровой сертификат, удостоверяющий подлинность веб-сайта и позволяющий использовать зашифрованное соединение. Без защищенного соединения сайту будет проблематично продвинуться в поисковых системах и завоевать доверие клиентов. Для небольших веб-проектов, лендингов и блогов отлично подойдет бесплатный SSL-сертификат Let’s Encrypt. В нашей статье мы подробно расскажем, как получить его на виртуальном хостинге и VPS/VDS сервере.
Изображение от Freepik.
Выпуск и настройка Let’s Encrypt на хостинге
- Переходим в панель управления хостингом. Во вкладке «Администрирование» находим пункт «Выделенные IP» и нажимаем на плюсик.
- Переходим в раздел «Сайты», напротив нужного веб-ресурса нажимаем «Сменить IP».
- Выбираем выделенный IP в качестве нового и сохраняем изменения.
- Возвращаемся в «Управление сайтами» и теперь выбираем пункт «SSL» напротив нужного сайта.
- Выбираем действие «Let’s Encrypt» и ставим галочку напротив «Редирект на https». Нажимаем «Продолжить».
В течение нескольких минут ваш запрос будет обработан и сайт заработает по защищенному HTTPS-протоколу.
Ispmanager
Наши клиенты могут арендовать хостинг с популярной панелью управления ispmanager. Чтобы сгенерировать бесплатный SSL-сертификат в ней, необходимо:
- Зайти в ispmanager (доступы появятся в интерфейсе панели ИХЦ после оплаты и активации услуги).
- Перейти в раздел WWW ⇒ SSL-сертификаты. Нажать на «Let’s Encrypt».
- В поле «Домен» выбрать нужный сайт и нажать «Ок».
Убедитесь, что в настройках сайта стоит галочка напротив пункта с перенаправлением на HTTPS. Отлично, все готово.
Выпуск и настройка Let’s Encrypt на VPS
Для удобного получения бесплатного SSL-сертификата на VPS/VDS сервере без панели управления потребуется специальный клиент протокола ACME — Certbot. Он нужен для запроса сертификата, валидации домена, установки и дальнейшего автопродления сертификатов от Let’s Encrypt.
Системные требования для работы Certbot:
- Linux, macOS, BSD и Windows.
- Root-доступ в Linux/BSD. Доступ администратора в Windows.
- Порт 80 открыт.
Мы покажем отдельные инструкции для веб-серверов Apache и Nginx.
Для веб-сервера Apache
Первое, что нужно сделать — установить Certbot. На Certbot есть инструкции под разные дистрибутивы Linux. Например, для установки на Ubuntu 18.04 выполните команды:
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-apache
$ sudo yum install python2-certbot-apache
$ sudo apt-get install python-certbot-apache -t stretch-backports
В первый запуск Certbot будет предложено указать электронную почту для регистрации в Let’s Encrypt и получения уведомлений. Также вам потребуется прочитать и принять условия использования.
После установки можно переходить непосредственно к выпуску Let’s Encrypt. Мы рекомендуем самый простой способ — с помощью специального плагина Apache для выпуска и автоматической установки сертификата.
Плагин получает SSL-сертификат для сайта и автоматически устанавливает его. Обратите внимание, Certbot должен найти корректный виртуальный хост в конфигурации Apache — для этого он будет искать директиву ServerName, которая соответствует домену, для которого вы выпускаете сертификат. Поэтому обязательно убедитесь, что конфигурация веб-сервера настроена корректно.
После окончания установки Let’s Encrypt вы увидите дополнительную информацию, а также ссылку для проверки.
Для веб-сервера Nginx
Мы покажем примеры установки для нескольких дистрибутивов Линукс. С остальными инструкциями вы можете ознакомиться на официальном сайте.
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx
$ sudo yum install python2-certbot-nginx
sudo apt-get install python-certbot-nginx -t stretch-backports
После установки запускаем плагин Nginx:
Обратите внимание, Certbot должен иметь возможность найти корректный блок server в вашей конфигурации. Для этого он будет искать директиву server_name, соответствующую домену, для которого вы запрашиваете SSL-сертификат. Поэтому, как и в случае с Apache, обязательно проконтролируйте, что конфигурация веб-сервера настроена правильно.
Обновление сертификатов
Сразу при установке Certbot добавляет cron-задание для автоматического обновления полученных им сертификатов. Чтобы протестировать автообновление, выполните команду:
sudo certbot renew —dry-run
Команда подходит как для Apache, так и для Nginx.
Заключение
Теперь вы знаете, как получить бесплатный SSL-сертификат Let’s Encrypt на обычном шаред-хостинге с помощью панели управления и на VPS/VDS с помощью Certbot. Являетесь нашим клиентом и остались вопросы? Задавайте их в службу технической поддержки — мы обязательно поможем!
- Сегодня, чтобы создать полноценный работающий сайт, вовсе не обязательно владеть языками программирования и другими специальными знаниями. Для этого давно существуют программные продукты, которые делают всю техническую работу за вас. Конструкторы сайтов и системы управления контентом (CMS) являются простыми и удобными инструментами, позволяющими запустить собственный веб-проект. Их часто сравнивают, но на самом деле оба этих решения эффективны — в разных обстоятельствах. Мы расскажем, чем CMS отличаются от конструкторов сайтов, и перечислим особенности каждого метода.
- Битые ссылки (broken links) — это ссылки на сайте, которые не работают: например, ведут на несуществующие страницы с кодом ошибки 404 (Page Not Found). Большое количество битых ссылок ухудшает позиции сайта в поисковых системах, а также негативно сказывается на удобстве для пользователей. В нашей статье мы расскажем, как проверить сайт на битые ссылки с помощью бесплатных онлайн-инструментов.
В данной статье будет описан реальный способ получения сертификата от Let’s Encrypt в ручном режиме для его дальнейшей установки на веб-сервер Windows (IIS/Microsoft Azure) или Linux (полностью ручной режим). Из-за отсутствия официального клиента под Windows для генерации сертификата будет использоваться дистрибутив Linux.
В первые дни открытия заявок на бета-тестирование и было принято решение записаться и вот недавно пришло письмо, которое сообщает о том, что теперь программа ACME сгенерирует валидный сертификат для нашего домена.
Далее мы решили опубликовать статью с пошаговой инструкцией процесса, чтобы к моменту релиза вы уже смогли оперативно создать и начать пользоваться своим сертификатом.
Как это работает
Полное описание процесса доступно по этой ссылке.
Важно лишь знать, что для подтверждения владения доменом и успешной генерации сертификата нужно будет иметь доступ к записям DNS или к серверу куда ссылается A-запись, что вполне логично.
Смысл программного набора Automated Certificate Management Environment (ACME) (написан на Python) в том, чтобы автоматизировать генерацию и установку сертификата в Linux-окружении.
Существует неофициальный Windows-клиент с открытыми исходными кодами, который может генерировать и устанавливать сертификаты на Windows IIS и Amazon Web Services, но у нас была задача получить ключи и установить их вручную. Предлагаю любому желающему написать статью по работе с ним.
Процесс по шагам
Внимание: эта инструкция учит создавать сертификат в ручном режиме, существуют и более простые способы автоматической генерации и обновления сертификатов. Надеюсь, что скоро их опишут на этом ресурсе.
Небольшое обновление статьи в 2017 году.
Теперь можно установить CertBot и получить сертификат в ручном режиме.
1. Скачиванием дистрибутив
2. Установка прав на файл
3. Запуск для получения сертификата в ручном режиме
./certbot-auto certonly —authenticator manual
4. Следуйте указаниям программы (подробнее смотрите в полной инструкции ниже с шага № 4).
Подробная инструкция (старый клиент — всё ещё работает)
Использовалась официальная инструкция.
Пользователи Linux могут использовать текст ниже как пример генерации сертификата в ручном режиме.
1. Запустите ваш любимый дистрибутив Linux (мы использовали Debian 8).
либо 2. Установите Git и выполните команды ниже:
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
3. Запустите установку и генерацию с помощью
./letsencrypt-auto —agree-dev-preview —server https://acme-v01.api.letsencrypt.org/directory -a manual auth
Вам будет предложено ввести электронную почту для восстановления в будущем.
Ключ -a manual позволит сгенерировать ключи в ручном режиме без их автоматической установки на веб-сервер.
4. Далее введите домены для которых вы хотите создать сертификаты
5. Подтвердите сохранение вашего адреса в логах Let’s Encrypt
6. Подтвердите владение доменом
В сентябре 2016 года произошли небольшие изменения в порядке получения сертификата. Спасибо toxi_roman за обновление.
Старый способ подтверждения с text/plain (не актуально по состоянию на октябрь 2016 г.)
Это один из ответственных моментов в режиме ручной регистрации.
Обратите внимание: нас просят создать ответ на запрос, который возвращает Content-Type text/plain.
Такой ответ не пройдёт и подтверждение выдаст ошибку:
Нужно, чтобы было так:
privkey.pem — приватный ключ для сертификата
Используется Apache для SSLCertificateKeyFile и nginx для ssl_certificate_key.
cert.pem (сертификат сервера)
Используется Apache для SSLCertificateFile.
chain.pem (сертификат цепочки)
Он же используется Apache для SSLCertificateChainFile.
fullchain.pem (соединение chain.pem и cert.pem)
Он же используется nginx для ssl_certificate.
Запустите OpenSSL с помощью команды:
и начните конвертацию с помощью команды:
pkcs12 -inkey privkey.pem -in fullchain.pem -export -out mydomain.pfx
Вас попросят ввести пароль и подтвердить его.
7.2 Выходим из OpenSSL с помощью команды quit
7.3 Копируем итоговый файл в директорию нашего пользователя
cp —no-preserve=all mydomain.pfx /home/(имя пользователя)/Documents
8. Мы получили сертификат mydomain.pfx, который теперь можем использовать в Windows-окружении.
Для обновления сертификата в ручном режиме:
./letsencrypt-auto certonly —renew-by-default -a manual
Важно знать, что сертификаты Let’s Encrypt валидны 90 дней. Рекомендуется обновлять их каждые 60 дней. На электронную почту, которую вы указали для генерации, будут приходить уведомления об истечении сертификата.
Буду рад услышать ваши замечания или пожелания к статье.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Планируете ли вы использовать сертификаты от Let’s Encrypt в своих проектах
Нет, у меня уже есть платный сертификат
Проголосовали 1377 пользователей.
Воздержались 288 пользователей.