Бесплатный SSL-сертификат для ленивых «чайников»

Бесплатный SSL-сертификат для ленивых «чайников»
Share on facebook
Share on twitter
Share on vk
Share on telegram
Share on whatsapp

Внимание! Если у вас возникнут трудности, обращайтесь. С удовольствием помогу вам все настроить.

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

Инструкция идеально подойдет тем, у кого сайт на WordPress, а домен зарегистрирован в RU-CENTER

Изначально я заморочился совсем другим, ко мне обратился один владелец интернет-магазина запчастей для мобильных устройств и спросил, как можно снизить нагрузку на хостинг. На тот момент сайт был недоступен по причине блокировки за превышение нагрузки в 400+ процессорных минут при допустимом максимуме в 60 минут. Поскольку финансовые возможности были не большие, а CMS какой-то древней и глючной, в качестве варианта мною было предложено попробовать Cloudflare. Что там в итоге получилось, я не знаю, ибо человек сказал спасибо и исчез.

Честно говоря, на примере своих сайтов я не заметил сколь какого-нибудь снижения нагрузки и прироста в скорости загрузки. Видимо это чувствуется на более посещаемых ресурсах чем мои. Но суть не в этом и не об этом разговор. Поскольку о данном сервисе я узнал совсем случайно, посетив какой-то мегапопулярный сайт, который на тот момент лежал, я решил побаловаться и добавить туда свой сайт. Благо для нищебродов есть бесплатный тариф.

Добавив сайт, я задумался. А если у меня на сайте HTTPS? По логике вещей он перестанет работать. Честно говоря, я не специалист в этой области, я решил загуглить. Как оказалось, у Cloudflare есть универсальный SSL-сертификат. Тему эту запустили ещё в 2014-м году. Можно пользоваться халявным, можно загрузить свой или купить, скажем так, выделенный сертификат. Не будем отвлекаться, мы ведь пришли за халявой.

В общем чтобы получить заветный зеленый замочек в адресной строке рядом с адресом своего сайта, нам потребуется добавить свой сайт в Clodflare. Но прежде нам потребуется получить административный доступ к домену своего сайта. К счастью, регистраторов у нас не так много, так что наверняка по каждому есть инструкции. В моем случае это RU-CENTER, на его примере я покажу как получить доступ к администрированию домена, но для начала зарегистрируемся в Cloudflare.

Минусы подобного решения

Самый большой минус в том, что ответ в защищенном виде от Cloudflare, а вот Cloudflare получает его от нашего сайта по HTTP, то есть чисто гипотетически существует вероятность перехвата, но нас ведь мало это волнует, поскольку нам важно наличие халявного  HTTPS, а если бы нам была важна какая-то безопасность, то мы бы просто купили бы сертификат. Но на самом деле минус заключается не в угрозе безопасности, а в другой проблеме. Поскольку, как я уже говорил, Cloudflare производит запрос к серверу с нашим сайтом через HTTP, наш сайт не предполагает о том, что фактически он работает через HTTPS и соответственно все пути к файлам будут иметь HTTP и будут блокироваться браузером.

Особенно эта проблема ощущается в работе WordPress, при переводе его на HTTPS, он утопает в бесконечных редиректах. Происходит это как раз по причине конфликта, поскольку сервер работает по HTTP, а WordPress мы заставляем работать через HTTPS. Решается эта проблема установкой плагина CloudFlare Flexible SSL. Этот плагин не требует настройки и начинает работать сразу после активации. В случае с другими CMS вам потребуется искать решение этой проблемы самостоятельно.

Ещё один существенный минус заключается в том, что данное решение не начинает работать сразу. Это происходит по причине того, что требуется время на обновление DNS-серверов, поскольку мы у своего домена меняем записи касающиеся именно DNS. На этом все минусы кончаются и начинаются плюсы, а плюсов там полно.

Но все эти минусы теряют свою актуальность если вы заморочитесь о самподписном SSL-сертификате для вашего сайта, в таком случае все ништяк и проблем не будет в принципе.

Получаем административный доступ к домену

Первым делом нам необходимо узнать кто регистратор нашего домена (не путайте с хостингом), для этого нам нужно получить whois домена. Это можно сделать на любом из тысяч сайтов, которые предоставляют такую функцию. Поскольку я являюсь пользователем Linux (Ubuntu), получить whois домена я могу прямо в терминале.

Ответ команды whois в терминале

Нас интересует строка admin-contact, просто переходим по ней. В других доменных зонах whois отличается радикально, но в любом случае там будут фигурировать слова связанные с регистратором. Например у домена в зоне com сразу дается ссылка на регистратора (параметр Registrar URL). Если не можете разобраться со своим доменом, то пишите мне в комментарии или на почту, попробую помочь.

Ссылка из whois привела меня на страницу с формой.

Whois-сервис на сайте RU-CENTER

То, что мне нужно, находится в правом верхнем углу — ссылка на страницу авторизации.

Авторизация на сайте регистратора RU-CENTER

Поскольку я не знаю ни пароля, номера договора, мне нужно кликнуть ссылку «Напомнить номер договора и пароль».

Восстановление доступа в личный кабинет на сайте регистратора

Поскольку из всей информации у меня только домен, я выбрал в списке «Имя домена» и в нижней строке указал необходимый домен. После того, как я нажму кнопку «Продолжить» мне на почту придет письмо с инструкцией для восстановления пароля, а в самом низу письма будет номер договора. Остается только перейти по ссылке, установить пароль, а после этого авторизоваться. Вот и все, теперь мы можем перейти к добавлению сайта в Cloudflare.

Добавляем сайт в Cloudflare

На одной вкладке у вас должен быть открыт личный кабинет на сайте регистратора с нужным доменом, а во второй вкладке Cloudflare. Страница регистрации: https://dash.cloudflare.com/sign-up. Поскольку регистрация весьма тривиальный процесс, то я перейду сразу к описанию добавления сайта и его настройке.

Кликаем «+Add site» справа вверху и видим форму с одним полем, в поле вводим имя домена нашего сайта.

Добавление сайта в Cloudflare

Жмем кнопку «Add Site». И если все нормально, то мы должны увидеть следующее:

Запрос настроек DNS с текущего сервера

Жмем «Next». После этого мы попадем на страницу с тарифами.

Выбор тарифного плана

Кликаем тариф «FREE» и жмем «Confirm Plan».

Подтверждение выбора тарифного плана

Тут Жмем «Confirm». После этого мы попадем вот на такую страницу:

Предварительная настройка DNS

Скролим до конца и жмем кнопку «Continue». И вот тут начинается самое интересное. На следующем шаге мы видим нейм-сервера, которые нам необходимо скопировать.

Сообщение о необходимости сменить NS-записи

Теперь нам необходимо перейти в личный кабинет на сайте регистратора и вместо текущих нейм-серверов указать нейм-сервера Cloudflare. В списке доменов кликаем «Изменить» в строке с нашим доменом под списком нейм-серверов.

Изменение NS-записей на сайте регистратора

После чего на следующей странице подчищаем поля и вставляем нейм-сервера Cloudflare/

Форма для изменения NS-записей

Сохраняем изменения. и закрываем личный кабинет, нам он больше не нужен. Возвращаемся на страницу где добавляли домен и жмем «Continue». Все, осталось дождаться когда изменения вступят в силу и статус домена в Cloudflare сменится с «Not active»

Сообщение об ожидании смены NS-записей

На «Active»:

Сообщение об успешной смене NS-записей

Об изменении статуса сервис уведомит письмом.

Включаем наш сайт

Переходим на страницу «DNS»/

Панель навигации по разделам личного кабинета Cloudflare

И смотрим что там у нас творится. Если на странице мы увидим вот такую картину:

Раздел DNS с неактивными записями

То это значит что к сайту проходят мимо сервером Cloudflare, для включения нам необходимо кликнуть на «облака», в итоге должно получится вот так:

Раздел DNS с активированными записями

Все, теперь запросы к нашему сайту идут через Cloudflare.

Запускаем HTTPS

После того, как статус нашего сайта сменится на «Active», можно приступать к дальнейшей настройке.

Первым делом идем на страницу настройки шифрования, кликнув значок в виде замка.

Переходим в раздел Crypto

Тут справа в выпадающем списке выбираем «Flexible».

Раздел Crypto с активированным режимом Flexible

Спускаемся чуть ниже до пункта «Always Use HTTPS».

Всегда использовать HTTPS

Кликаем переключатель, он должен позеленеть.

Активирован режим постоянного использование HTTPS

Спускаемся ещё ниже до пункта «Automatic HTTPS Rewrites» и также включаем этот режим.

Активация автоматической переадресации на протокол HTTPS

Этот режим исправит ссылки, у которых вместо https будет http. Очень полезная штука для тех, кто не хочет рыться в исходном коде и искать где что исправить.

Этим самым мы говорим cloudflare что хотим использовать SSL для своего сайта.

В этом разделе все. Переходим в раздел «Page Rules».

Переход на страницу Page rules

Тут нам потребуется создать два правила переадресации. Перед созданием правил подумайте какой адрес сайта вам нужен, с www или без www и потом уже приступайте к этапу настройки. Я же приведу два варианта и вам всего лишь потребуется реализовать тот, что вам подходит.

Для создания правила нам необходимо нажать кнопку «Create Page Rule».

Кнопка для создания новой Page rules

Теперь переходим к нужному пункту.

Для домена без www

Создаем правило. В верхнем поле пишем имя домена с www. В списке ниже выбираете пункт «Forwarding URL», рядом в списке выбираете пункт «301 — Permanent Redirect». Во второе поле пишите адрес сайта с https и с $1 на конце.

Создание Page rules

Жмем кнопку «Save and Deploy».

Для домена с www

Если вам необходимо чтобы сайт работал на домене с www, то поля необходимо заполнить как на скриншотах ниже.

Создание page rules для домена с www

Через несколько минут все наши настройки начнут работать.

Установка сертификата от Cloudflare на сервер

Если вас не устраивает некоторые недочеты касаемо незащищенного канала между Cloudflare и вашим сайтом, а так же установкой всяческих костылей для обеспечения стабильной работы того же WordPress, то можно установить на сервер сертификат от Cloudflare. Этот сертификат не позволит обращаться к сайту напрямую по HTTPS, но защитит канал между сайтом и Cloudflare, поскольку данный сертификат по сути самоподписной и выпускается самим Cloudflare.

В Cloudflare мы получаем два ключа, но этого не всегда достаточно для установки на сервер. Для установки на сервер потребуется создать ещё один файл. Во всяком случае на моем хостинге требуется файл .crt или .ca_bundle. Файл .crt можно создать с помощью командной строки и OpenSSL. Сам по себе процесс создания довольно прост и состоит из двух команд. Но перед созданием надо получить ключи от Cloudflare.

Переходим на вкладку «Crypto».

Ищем секцию «Origin Certificates» и жмем кнопку «Create Certificate».

В появившемся окне ничего не меняем и жмем «Next» и видим вот такое окно:

Содержимое сертификатов key и pem

В принципе инструкция видна на скриншоте. Для тех, кто не понял, содержимое поля «Origin Certificate» в файл с именем site.ru.pem, а содержимое «Private key» в файл с именем site.ru.key. Сохранили? Жмем «OK».

Теперь мы можем перейти к созданию нужного нам файла .crt. Все операции выполняются в системе Ubuntu Linux. Для этого наши файлы .key и .pem закидываем в домашнюю директорию, открываем терминал и выполняем две команды:

openssl req -new -key site.ru.key -out site.ru.csr

Естественно вместо site.ru.key подставляем имя своего файла. На вопрос «Common Name (e.g. server FQDN or YOUR name)» пишем имя домена сайта без www, на все остальное отвечаем релевантно или пропускаем, если нечего написать. После этого выполним вторую команду:

openssl x509 -req -days 365 -in site.ru.csr -signkey site.ru.key -out site.ru.crt

После этого у нас появится файл .crt, теперь необходимо загрузить все это дело на сервер. Я покажу это на примере моего хостера SpaceWeb. В разделе SSL я выбираю «Установка сертификата» и попадаю на страницу загрузки файлов:

Установка сертификата от Cloudflare на сервер

В первом поле выбираю файл .crt, который создал с помощью команд, а во втором поле выбираю файл .key, полученный от Cloudflare, после чего жму кнопку «Установить». Все готово. После этого останется в разделе «Crypto»сменить Flexible на Full. Теперь Cloudflare будет обращаться к нашему сайту по HTTPS.

Устранение бесконечных редиректов на WordPress

Переходим в раздел «Плагины» в админке нашего сайта, кликаем «Добавить новый» и в справа в строку поиска вставляем «CloudFlare Flexible SSL», само собой без кавычек.

Плагин для решения проблемы работы WordPress при Flexible

Дожидаемся установки и потом жмем кнопку «Активировать», которая появится на месте кнопки «Установить». Вот и все, сайт готов к переходу на HTTPS, осталось дождаться когда обновятся DNS-сервера и заработают настройки Cloudflare.

Результаты работы Cloudflare

Поскольку изначально я заморочился настройкой Cloudflare из-за превышения нагрузки, которую создавали мои сайты, то само собой в качестве результата я ожидал снижение нагрузки. На момент настройки картина была вот такая:

Как видите налицо систематическое превышение, которое мне грозило блокировкой сайтов. Я не знаю по каким причинам, но SpasceWeb не спешило меня блокировать несмотря на то, что превышение допустимой нагрузки продолжалось недели две. В конце графика можно видеть пустой столбец, это результат настройки Cloudflare, нагрузка упала до значений, которые были когда мои сайты никто не посещал.

Напоследок

Первое время сайт будет работать мимо Cloudflare и предпринимать какие-либо действия по переходу на HTTPS на стороне сайта нецелесообразно, да и в принципе бессмысленно. Дождитесь когда сайт начнет работать через HTTPS, это будет понятно когда вы увидите на своем сайте просто текст без оформления. В этот момент быстро идем на Cloudflare, заходим в раздел «DNS» и выключаем работу cloudflare кликнув переключатели в виде облаков, они должны стать серыми:

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

Share on facebook
Share on twitter
Share on vk
Share on telegram
Share on whatsapp

Бидюков Денис

Эксперт по сайтам

Занимаюсь продвижением личного бренда с помощью сайта и SEO. Если Вы хотите из обычного сантехника, электрика, врача или фотографа стать востребованным и высокооплачиваемым  специалистом, то я с легкостью Вам помогу.

27 комментариев к “Бесплатный SSL-сертификат для ленивых «чайников»”

  1. Здравствуйте! Никак не получается установить сертификат от Cloudflare. Получаю сертификат отправляю к администратору хостинга (раньше всегда они устанавливали) теперь они возвращают, сертификат неверный. Сайт сейчас не работает. Помогите!

  2. Вячеслав

    Здравствуйте, Денис.
    Не можете ли Вы помочь с установкой CloudFare на мой сайт?
    Боюсь утонуть в неувязках. Хотя вроде бы ничего сложного.
    Но прeжде хотелось бы быть уверенным в правильности использования CloudFare именно для такого сайта.
    Заранее спасибо.

    В.

  3. Вячеслав

    Спасибо за ответ.
    Да, только SSL. Необходимость в других преимуществах Cloudflare от меня просто ускользает.
    Потренировался на другом сайте, полурабочем. Благодаря Вашим инструкциям мне удалось все установить. Правда я выбрал опцию full, вместо flexible.
    Указанный Вами плагин на ворд-пресс установил.
    Полученный сертификат SSL на виртуальном хостинге ruCenter установил.
    Сайт работает. Но при работе со страницами часто выдает ошибку Error 502 Ray Bad gateway. Host Error. Помогает вроде бы перезагрузка сервера на некоторое время.
    Вероятно теперь речь идет о настройке всего этого хозяйства или о перестановке с опцией flexble.
    Что Вы думаете?

    1. Бидюков Денис

      Я думаю Вам надо просто перенести сайты на нормальный хостинг. У меня клиент хостился на руцентре, вечные проблемы были, сайт тормозил. В итоге перенесли. В Вашем случае это был бы самый правильный вариант ибо бонусом получите халявный SSL без проблем и Cloudflare

  4. Денис, спасибо вам за инструкцию. Сейчас пробую все сделать, как вы написали, только у меня сайт без cms на хостинге от Rucenter, получится установить SSL без проблем? Также подскажите, пожалуйста, каким образом происходит связь домена с моим хостингом на котором установлен сайт при изменении днс серверов предоставляемых Cloudflare? Сейчас я изменил DNS сервера, сайт перестал работать, я понимаю что нужно время на обновление DNS, но не пойму, каким образом заработает сайт, если домен на Reg.ru, а хостинг с сайтом на Rucenter, а DNS прописаны от Cloudflare.

    1. Бидюков Денис

      Здравствуйте! Если все это нужно Вам только ради бесплатного SSL, то советую переехать например на СпейсВеб, тут есть бесплатный SSL. Если после смены NSов сайт перестал работать, скорее всего что-то сделали не так. регру регистратор домена, указывая NSы от Cloudflare Вы по сути тем самым указываете всем что сайт для этого домена надо искать вот там, на тех NSах. При запросе в браузере адреса Вашего сайта, запрос уходит на Cloudflare, тот в свою очередь отдает IP на котором якобы находится сайт, запрос уходит на IP и т.д. IP само собой принадлежит Cloudflare. Получая запрос, Clopudflare уже отправляет запрос на наш хостинг, где работает наш сайт.

      1. Добрый день, Денис. Да, мне нужен был бесплатный SSL без лишних напрягов, если таковой существует. Ища, наткнулся на вашу статью и решил последовать ей. Все сделал по вашей инструкции, до того момента, пока отобразится статус «Active», сейчас в Cloudflare статус «Active» появился, но сайт не доступен. Все что вы описывайте после получения статуса «Active», я еще не делал, может из за этого. Я все равно не понимаю, сейчас получается домен имеет записи от Cloudflare, на самом Cloudflare нет ни каких записей ссылающихся на хостинг Ru center, на котором размещен сайт. Получается соединение с хостингом на котором расположен сайт отсутствует, поэтому логично что сайт не работает. Вопрос — как сделать чтобы заработал сайт? Как дать понимание Cloudflare что нужно прикрепиться к хостингу от Ru center. У вас на скриншотах есть запись A для домена, и запись MX. У меня их нет, и в разделе «DNS», высвечивается ошибка что: «Для завершения настройки потребуется еще несколько шагов. Добавьте запись A, AAAA или CNAME для своего корневого домена, чтобы программа dr-magdalina.ru разрешилась. Добавьте запись MX для корневого домена, чтобы почта могла доходить до адресов @ dr-magdalina.ru »
        Возможно дело в этом, поэтому сайт не работает?

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

        Если же этот способ устарел или еще что-то, то попробую использовать СпейсВеб. Но на данный момент я уже на пол пути, и лучше завершить начатое.

        Вам спасибо, за помощь.

        1. Бидюков Денис

          Ну вот и причина почему сайт не работает. Видимо произошел сбой и Cloudflare не смог скопировать записи DNS домена. Вам придется добавить вручную запись A указав в поле IP-адрес сервера руцентра. Если Вы споткнулись на такой ерунде, то следующие шаги могут стать просто невыполнимыми. Я бы рекомендовал Вам перейти на СпейсВеб. Наверняка есть масса хостингов с бесплатным SSL, но я сам пользуюсь СпейсВеб и давно отказался от Cloudflare.

          1. Денис, благодарю за ответ.
            С Ru-center я уходить не хочу, так что постараюсь все таки дойди до конца, используя вашу инструкцию. Сейчас я приобрел на Ru-center отдельную услугу DNS-хостинг чтобы посмотреть запись типа A, а потом добавить его на Cloudflare.

            Вы в инструкции все довольно подробно описали, а вот про добавление записей ни слова ни сказали. Так что для меня это было самое сложное, в том плане, что, я впал врасплох, так как в статье про это у вас ничего не было сказано. Раз вы так подробно описывали даже восстановление аккаунта с доменом, то я подумал что в статье все прописано подробно и надо просто ей следовать, оказалось статья не совсем для «чайников»))

            Вроде ничего сложного вы не пишите после шага о получении статуса «Active», так что я постараюсь все таки дойти до конца, используя вашу статью.

            Странно что вы выставляйте инструкцию, а потом сами же уговаривайте не пользоваться этим сервисом. Подскажите, пожалуйста, почему вы перестали пользоваться Cloudflare?

          2. Бидюков Денис

            Я не стал описывать добавление записей в разделе DNS по причине того, что они добавляются автоматически. Отказался я от Cloudflare по причине проблем связанных с блокировками Роскомнадзора. Мне как-то написал один человек, что у него не работает морй сайт, он якобы заблокирован. Оказалось просто заблокировали IP Cloudflare на котором висел какой-то сайт, нарушающий законы РФ

    1. Бидюков Денис

      Бесплатный SSL это лишь бонус к богатому функционалу Cloudflare. Он не только позволяет снизить нагрузку за счет кеширования, но и позволяет повысить безпасность за счет соответствующих настроек. Это очень крутой и мощный инструмент. По этому и предложил Вам альтернативу, если Вам нужен только SSL.

      1. Благодарю. Буду иметь ввиду СпейсВеб. Просто у меня несколько сайтов на Ru-center, и не хочется переезжать на новый хостинг.

        У меня возникли трудности с Cloudflare. Не пойму какие данные нужно вводить в поле «имя» и «ip адрес» при создании записи a в Dns-хостинг от Ru-center. Не нашел ни где как найти инструкцию ни про это, ни то, где посмотреть ip адрес.

        А в Cloudflare сейчас все таки есть одна запись типа A с названием «www» и с ip 91.189.114.10. Не пойму ее нужно удалять или нет перед добавлением записей с Ru-center.

        1. Бидюков Денис

          Создайте ещё одну запись A, где укажите имя @, а IP 91.189.114.10
          По идее должен сайт заработать

          1. Спасибо. Сделал по вашей инструкции. Но вопрос — этот ip относится ли к Ru-center?

          2. Бидюков Денис

            Судя по тому, что сайт заработал, да, относится ))

          3. Да, IP судя по всему Ru-center, так как при вводе и переходе в браузере по этому ip открывается страница от них.

            Получается записи в Cloudflare теперь стоят корректно. Но эти записи отсутствуют в DNS-хостинге от RU-center. Вопрос — нужно ли создавать их и там, или я зря приобрел эту дополнительную услугу?

            Денис, благодарю вас за ответы и терпение.

          4. Бидюков Денис

            Эта услуга Вам не нужна. Ваш DNS хостинг теперь на Cloudflare находится. Все записи в том числе и для почты теперь необходимо создавать на Cloudflare.

          5. Не пойму, у вас заработал сайт? У меня через телефон он тоже работает, при чем с SSL (что странно, так как я после пункта из вашей статьи об ожидании статуса «active» не предпринимал далее шагов), а вот при просмотре сайта через компьютер, он не не работает.

          6. Бидюков Денис

            DNS записи кешируются. Браузер может хранить некоторое время старую информацию. Провайдер может не часто обновлять информацию на своих сервера DNS. В общем такая ситуация нормальное явывление. Просто нужно немного подождать.

          7. Денис, еще раз спасибо вам за вашу статью. Сертификат работает, правда я как и говорил выше, остановился на шаге с ожиданием получения статуса «active», а далее ни каких действии не предпринимал. Я даже перенаправление не настраивал, а оно работает.

            Подскажите, пожалуйста, что сделать чтобы заработала почта? Если нужно внести mx запись, то как его вносить?

          8. Бидюков Денис

            Да было бы за что. Был рад помочь )) Почта на Вашем домене? Типа @dr-magdalina.ru?

          9. Бидюков Денис

            Тогда советую воспользоваться для этого почтой для домена от мейл ру, она проще, не такая замороченая как у яндекса. Тут инструкция как подключить и настроить https://help.mail.ru/biz/domain/add

            Если по настройке возникнут вопросы, то пишите на почту или тот же ватсап, чтобы тут комментарии не засорять

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *