Установка let s encrypt на сервер. Помощь. Let’s Encrypt от хостинг-провайдеров

Существует несколько способов установки сертификата от победившей всех конкурентов на рынке бесплатных решений Let’s Encrypt. Самым простым из таких способов является тикет в техподдержку вашего хостинга с вопросом о наличии поддержки Let’s Encrypt и просьбой установить сертификаты для ваших доменов и настроить автоматическое продление.

Список поддерживающих Let’s Encrypt хостинговых контор размещён на сайте проекта . Список не исчерпывающий и ориентирован на западного клиента — даже если вашего хостинга в списке нет, всё равно стоит спросить.

Let’s Encrypt от хостинг-провайдеров

Мой блог работает на — и у них поддержка Let’s Encrypt есть, хоть и не заявлена ни в вышеуказанном списке, ни на сайте самого «Фоззи». Более того, в январе текущего года провайдер взял и установил автоматически продлевающиеся SSL-сертификаты на все домены и поддомены своих клиентов, за что ему большое спасибо — мне осталось только настроить переадресацию с HTTP на HTTPS-урлы.

Когда трёхлетний сертификат от потерявших доверие китайцев из WoSign с выходом 57-й версии Google Chrome , я удалил его и попросил сотрудников Fozzy установить для блога Let’s Encrypt, что тут же было сделано.

Более того, сайт курумканской районной администрации работает на «1С-Битрикс» и очень посредственном ростелекомовском хостинге, который также поддерживает Let’s Encrypt. Установить автоматически продлевающийся SSL-сертификат на хостинге «Ростелеком» можно самостоятельно: зайдите в ISP Manager, там выберите пункт «WWW», затем в выпавшем меню «SSL-сертификаты», нажмите кнопку «Создать» и выберите нужный домен. Всё.

Что делать, если хостинг не желает устанавливать Let’s Encrypt и пытается впарить платный сертификат? Если у вас WordPress-сайт, вы не хотите переезжать на какой-нибудь Fozzy и ваш нехороший хостинг предоставляет доступ к управлению сервером через сPanel (очень часто встречающееся решение), я знаю, как эту проблему решить без сложных манипуляций.

WordPress-плагин WP Encrypt

Простой в использовании рабочий плагин , который, правда, давно не обновлялся. Не далее чем пару дней назад (в 20-х числах марта 2017 года) я проверил его работу на другом домене и всё получилось.

Схема работы такова: устанавливаем и активируем плагин, переходим в его настройки. Там нужно как угодно «обозвать» ваш сайт и выбрать для него наиболее подходящую страну. Затем внизу страницы настроек нажать кнопку «Register Account», буквально в один-два клика зарегистрироваться и затем нажать появившуюся взамен такую же синюю кнопку «Generate Sertificate».

После мгновенной генерации SSL-сертификата вам будут указаны пути на веб-сервере, куда были сохранены файлы сертификата и ключей (нас интересуют cert.pem и private.pem ).

Не забудьте в настройках плагина отметить чекбокс «автоматически обновлять сертификат» или «уведомлять об истечении сертификата за столько-то дней», или и то, и другое. За работоспособность автопродления не ручаюсь, наверняка придётся обновлять сертификат вручную каждые три месяца, и это главный минус Let’s Encrypt и описанного способа его использования в целом.

Будьте так добры, попробуйте и где-нибудь в комментариях отпишитесь, работает ли в плагине автопродление. А мы пока перейдём в cPanel.

Установка SSL-сертификата в cPanel

В «Диспетчере файлов» нужно найти папку, в которую плагин сложил файлы сертификата. Обычно путь выглядит так: «letsencrypt→live→„ваш домен“». Теперь по клику правой кнопкой мыши открываем файл cert.pem (лучше открывать файлы сертификата для чтения, опция «View») и целиком копируем его содержимое.

Возвращаемся в cPanel, там в разделе «Безопасность» есть пункт «SSL/TLS». В нём следует кликнуть по ссылке «Установка и управление SSL для сайта (HTTPS)», внизу страницы под заголовком «Установить сайт с SSL-шифрованием» выбрать домен, для которого был сгенерирован сертификат, и в поле «Сертификат: (CRT)» вставить содержимое файла cert.pem.

Затем в диспетчере файлов нужно аналогичным образом обработать файл private.pem и вставить его содержимое в следующее «окошко» установки сертификата «Закрытый ключ (KEY)». Поле «Пакет центра сертификации: (CABUNDLE)» можно оставить пустым.

Если вы всё сделали правильно, сервер должен сообщить, что введённые данные корректны, и можно нажимать кнопку «Установить сертификат». Если в шифрах есть ошибки, появится соответствующее предупреждение. Вот, в общем-то, и всё, что нужно знать об установке SSL-сертификата на Apacheподобные серверы с помощью cPanel.

Двухминутная настройка HTTPS-everywhere на WordPress-сайте

На разных хороших сайтах о переезде на HTTPS много текста написано, какие-то сложные манипуляции с базами данных и т. д., но в наше время всеобщего упрощения хочется чего-то ненапряжного и быстрого.

Для этого в первую очередь нужно перейти в настройки WordPress, там в поля «Адрес WordPress (URL)» и «Адрес сайта (URL)» вместо имеющегося вбить адрес вашего сайта с префиксом https://. Внимание: делайте это только после того, как установили сертификат на сервер, иначе после сохранения настроек сайт перестанет открываться!

Далее устанавливаем два плагина — WP Force SSL и Easy HTTPS Redirection . После их активации всё содержимое сайта должно перейти на HTTPS автоматически. Если в результате этих простых манипуляций видите в адресной строке зелёный замочек — значит, всё получилось. Поздравляю!

Илья

Дмитрий, добрый вечер! Подскажите пожалуйста. Как раз несколько дней пытаюсь решить вопрос с Lets encrypt сертификатом. На хостинге hosting.energy при создании сайта dommeb.com.ua подключил бесплатный Lets encrypt из Isp панели. Все было хорошо несколько дней, проходил тесты SSL ssllabs.com/ssltest/analyze.html на А+. Пробовал загрузить с мобильного на Android 2.3.6 с стандартного браузера и Maxton — появлялось только предупреждения о ненадежности сертификата, а дальше можно нажать Продолжить и сайт был доступен.

Неделю назад заметил, что при загрузке с мобильного и тестов на редиректы (поставил в настройках домена на хостинге редиректы с http-https) происходит добавление в url:443 (название SSL порта). И сайт не доступен при загрузке (надпись ошибки).

Написал в хостинг, решили в течении нескольких дней вопрос. Написали «Исправили конфигурации Nginx относительно редиректов, в конфиги закралась ошибка (вероятно, из-за панели управления) и было 2 редиректа.»

:443 уже не дописывался с мобильного и при тесте на редиректы.
Но сайт по прежнему не грузился, как с появлением этих двойных редиректов:443 (ошибка на Android 2.3.6 сайт не доступен при загрузке).

Посмотрел ssl тест, тоже А+ результат, но появилась ошибка в подпункте Handshake Simulation No SNI 2Android 2.3.7 No SNI 2 Server sent fatal alert: handshake_failure

Погуглил по этой ошибке:
Здесь про эту ошибку и решение пишут talk.plesk.com/threads/https-websites-not-loading-in-ie.338346/ Передал всю информацию в тех поддержку хостинга.

Несколько дней переписывался с хостингом, говорят ничего в конфигурации настроек хостинга не меняли, используют стандартный плагин Lets Encrypt сертификата. И они не гарантируют работу SSL от LetsEncryt на устаревших платформах. Предложили выделенный IP за 1.5$ в месяц.
Хотя несколько дней назад все работало и правок не было на обеих сайтах (все данные в браузерах очищал). А сам сайт хостинга (тоже на этом сертификате, нормально и сейчас грузится с с мобильного и даже без предупреждения)

Сайты на виртуальном хостинге, без выделенного IP. Один сайт сделал на Opencart с Lets encrypt сертификатом, все было в порядке. Второй тестовый на WordPress — все было тоже хорошо с android 2.3.6. Собирался переходить на третьем сайте (WordPress) с http на https, и уже первые два нормально не грузятся на Android 2.3.6…
Хотелось бы чтобы все пользователи могли нормально заходить на сайт (в крайнем случае на старых платформах как Android 2.3.6 чтобы было только предупреждение, которое можно пропустить)
Подскажите пожалуйста, может вы знаете в чем может быть причина?

Решил посмотреть платные сертификаты, вроде хороший этот от Comodo namecheap.com/security/ssl-certificates/comodo/positivessl.aspx ,
но у вас в статье прочитал, что на платформе Android сертификат Comodo был недостоверным. Немного запутался с этим

Из панели управления ISPmanager теперь можно установить бесплатный SSL-сертификат Let’s Encrypt.

Это бесплатный SSL-сертификат, который выдается после проверки доменного имени (DV – domain validation). Его особенность заключается в том, что сертификат нужно продлять в ручном режиме каждые 3 месяца. Но в ISPsystem создали отдельный модуль для панели управления ISPmanager, который за 7 дней до окончания срока действия сертификата автоматически его обновляет.

Сертификат устанавливается за 6 шагов

1. Зайдите в панель ISPmanager как root-пользователь.


2. В разделе Интеграция –> Модули установите плагин Let’s Encrypt Encrypt.



3. В разделе Настройки web-сервера –> SSL-сертификаты выберите Let’s Encrypt.



4. Заполните поля формы, выбрав пользователя и домен, на который хотите установить сертификат. Обратите внимание, что по домену должен открываться сайт, в противном случае домен не пройдет проверку и сертификат выдан не будет.



5. После нажатия кнопки “Ок” на сайт установится самоподписанный сертификат. После завершения процесса проверки домена тип изменится на “Существующий”.



6. Готово. Перейдите по вашему домену, слева от него появится зеленый замок, который означает, что соединение защищено.

Ответы на частые вопросы

Let’s Encrypt подходит только для сайтов
Его нельзя использовать для защиты почты или кода

Сертификаты поддерживают домены с национальными символами (IDN)
Сертификат выдается для любых доменов, включая национальные. Сертификат можно выпустить для доменов в зоне.рф.

Проверяется только право на владение доменом
Проверка организации и расширенная проверка (OV и EV) не планируется.

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

Сертификат действует вечно
Панель автоматически продляет сертификат. Это значит, что сертификат действует до тех пор, пока у вас есть панель.

Определяется браузерами как доверенный
Сертификат поддерживается большинством современных браузеров. Полный список браузеров на официальном форуме поддержки Let’s Encrypt.

Поддомены не поддерживаются
Если вам нужны сертификаты для поддоменов,то выпустите отдельный сертификат для каждого поддомена.

Автоматизация поддерживается только для одного домена
Один сертификат поддерживает до 100 доменов, но процесс автоматизации не позволяет использовать один сертификат для нескольких доменов. Оформите отдельный сертификат для отдельного домена или закажите один из платных сертификатов с поддержкой мультидоменов.

Проект в первую очередь призван обезопасить веб, а также облегчить жизнь рядовым веб-разработчикам (всю эту возню с генераций приватных ключей, CSR, подтверждением прав на домен, настройкой веб-сервера и так далее свести на нет). Более того, SSL сертификаты , выдаваемые Let"s Encrypt, полностью бесплатные . Есть в них правда одно но, они являются базовыми и срок действия ограничен до 3-х месяцев (но это вовсе не проблема, так как продление можно настроить автоматически).

Скажу сразу, что на свой блог я поставил именно сертификат от Let"s Encrypt.

Стоит отметить, что сейчас проект находится на стадии бета-тестирования, поэтому могут возникать ошибки в работе их скриптов.

Весь процесс работы с сервисом происходит с помощью python скрипта letsencrypt , на текущий момент не для всех дистрибутивов linux существуют пакеты letsencrypt, поэтому официальная документация рекомендует ставить его предварительно склонировав git репозиторий из github.

$ git clone https://github.com/letsencrypt/letsencrypt $ cd letsencrypt $ ./letsencrypt-auto --help

letsencrypt-auto это скрипт-обёртка вокруг letsencrypt , автоматизирующий процесс развёртывания. Проще говоря, скрипт скачивает все необходимые зависимости, поднимает отдельное виртуальное окружения для Python, используя virtualenv, устанавливая в него необходимые python-модули при этом не засоряя системный питон. Стоит отметить, что для корректной работы скрипта необходимы права на запись в системные директории (sudo).

Так как скрипт призван максимально упростить работу по установке сертификатов безопасности, он поддерживает систему плагинов. Например, в стандартной поставке имеется плагин для работы с Apache (полноценно функционирующий) и nginx (пока только на экспериментальной стадии).

Установка SSL сертификата для Apache

Мой блог работает на связке LAMP, т.е. Linux, Apache, MySQL и PHP. Разработчики Let"s Encrypt постарались на славу и упростили настройку сертификата для Apache до уровня "проще некуда". Весь процесс сводится к следующим шагам:

$ ./letsencrypt-auto --apache -d mydomain.com

После ввода этой команды появится окно, где необходимо будет заполнить пару деталей, включая электронный адрес владельца. Остальное скрипт сделает за вас:

  • Проверит принадлежность домена
  • Выпустит необходимый сертификат сроком на 90 дней
  • Внесёт все необходимые настройки для веб-сервера Apache

После всех этих манипуляций мне только оставалось настроить 301 редирект (Moved Permanently) с http на https и перезагрузить веб-сервер.

ServerName сайт Redirect permanent / https://сайт/

С настройкой nginx дела обстоят хуже, в первую очередь потому что этот плагин пока не работает в связке с letsencrypt-auto. Если есть необходимость настройки SSL сертификатов для nginx (а она разумеется есть, nginx как ни крути один из самых популярных веб-серверов), то я бы порекомендовал сделать это вручную. О том как, читайте ниже.

Настройка SSL сертификатов для других веб-серверов

В поставке letsencrypt помимо плагина для работы с Apache имеется ряд других, а именно:

  • standalone
  • webroot
  • manual
  • nginx

Standalone

Суть standalone заключается в том, что скрипт попытается поднять собственный веб-сервер на время процедуры получения сертификата (дабы подтвердить принадлежность домена), а для этого необходимо будет отключить уже работающий, дабы освободить порты 80 и 443. Для большинства веб-разработчиков данный вариант неудобен из-за необходимости отключения сайта.

$ ./letsencrypt-auto certonly --standalone -d mydomain.com

Webroot

Данная опция подходит тем, кого не устраивает standalone. При указании ключа --webroot необходимо также будет указать и директорию, где располагаются файлы, которые обрабатывает веб-сервер.

$ ./letsencrypt-auto certonly --webroot -webroot-path /var/www/mydomain/

При работе с данной опцией необходимо настроить веб-сервер на чтение файлов соответствующим образом.

Manual

Из названия можно догадаться, что настройка и установка SSL сертификата будет проводиться вручную:-) Пожалуй, сейчас это наиболее удобный вариант настройки сертификата для nginx ввиду "сыроватости" letsencrypt nginx плагина.

$ ./letsencrypt-auto certonly --manual -d mydomain.com

После ввода этой команды вам необходимо будет самостоятельно провести манипуляции по подтверждению домена, разместив файл с определённым содержимым в нужной директории на сайте. Когда процедура создания сертификата закончится, все необходимые файлы будут лежать по следующему пути /etc/letsencrypt/live/$domain . В подкаталоге live находятся все самые актуальные сертификаты и ключи, тогда как keys и archive содержат все ранее созданные файлы.

Настройка SSL в Nginx

Итак, если процедура с созданием сертификатов в manual режиме прошла успешно, то в вышеупомянутой директории мы найдем все необходимые файлы для настройки безопасного соединения.

  • privkey.pem - наш приватный ключ
  • cert.pem - сертификат сервера
  • chain.pem - корневой (root) и промежуточный (intermediate)
  • fullchain.pem - все необходимые нам сертификаты для настройки веб-сервера.

Как же в данном случае будет выглядеть настройка Nginx?

Server { listen 80; listen 443 ssl; server_name mydomain.com; ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem; ...

Ребята из letsencrypt не советуют перемещать файлы, т.к. при продлении сертификата старые будут автоматически заменены новыми по тем же путям, лучше в этом случае создать символически ссылки.

Продление SSL сертификата

Ранее я уже упоминал о том, что бесплатные SSL сертификаты "живут" только 90 дней, поэтому после их истечения необходимо будет запускать процедуру продления, благо это тоже бесплатно:-)

Что же из себя представляет процесс продления?

Как утверждают в Let"s Encrypt, перед истечением, на почту, указанную при создании, приходит соответствующее письмо-уведомление о том, что пора бы продлить сертификат. Чтобы это сделать вручную достаточно запустить команду:

$ ./letsencrypt-auto

И следовать инструкциям на экране. Автоматическое же продление можно настроить используя конфигурационный файл и обычный crontab. Желательно настроить крон таким образом, чтобы продление происходило не чаще 1 раза в месяц.

Если вы работаете из под Windows, то letsencrypt можно развернуть, используя или Docker. Правда в этом случае для правильной настройки веб-сервера необходимо будет вручную переместить все файлы на сервер.



Последние материалы раздела:

Сколько в одном метре километров Чему равен 1 км в метрах
Сколько в одном метре километров Чему равен 1 км в метрах

квадратный километр - — Тематики нефтегазовая промышленность EN square kilometersq.km … квадратный километр - мера площадей метрической системы...

Читы на GTA: San-Andreas для андроид
Читы на GTA: San-Andreas для андроид

Все коды на GTA San Andreas на Андроид, которые дадут вам бессмертность, бесконечные патроны, неуязвимость, выносливость, новые машины, парашют,...

Классическая механика Закон сохранения энергии
Классическая механика Закон сохранения энергии

Определение Механикой называется часть физики, изучающая движение и взаимодействие материальных тел. При этом механическое движение...