Центр обучения Joomla
    SSL-сертификат (https-протокол) на Joomla

    SSL-сертификат (https-протокол) на Joomla

    В данном материале вы узнаете о том, как установить и настроить SSL-сертификат на Joomla и правильно перевести на HTTPS-протокол. Рассмотрены возможные проблемы и приведены дополнительные действия, которые могут понадобиться при установке, а также после установки SSL на сайт.

    Содержание

    1. Что такое SSL?
    2. Преимущества использования SSL
    3. Виды SSL-сертификатов
    4. Приобретение и установка SSL-сертификата
    5. Настройка SSL (https) для Joomla
    6. Дополнительные действия для Joomla
    7. Действия после настройки SSL на Joomla

    Что такое SSL?

    SSL (Secure Sockets Layer, пер. уровень защищенных сокетов) — это криптографический протокол, который используется, чтобы обеспечить зашифрованное соединение между сайтом и браузером. SSL сертификат позволяет нам использовать HTTPS.

    Важно понимать, что по умолчанию все наши сайты загружаются по протоколу HTTP (Hyper Text Transfer Protocol, пер. протокол передачи гипертекста). При этом данные не шифруются и могут быть перехвачены и использоваться третьими лицами.

    Вы можете сказать: «Мне нечего скрывать, пускай за мной следят». Но давайте рассмотрим подробнее ряд важных преимуществ, которые вы получаете при использовании SSL.

    Преимущества использования SSL

    1. Защита от перехвата

    Если вы авторизуетесь на вашем сайте, используя публичный wi-fi (например, в кафе или метро), знайте, что в процессе соединения с вашим сайтом ваши данные могут быть перехвачены, а следовательно, вы можете потерять доступ к сайту (навсегда).

    2. Защита клиентов

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

    3. Высокие позиции в поисковой выдаче

    Сайты, которые загружаются по https при прочих равных условиях получают более высокие позиции от поисковых систем.

    4. Интеграции с сервисами

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

    5. Визуальные характеристики.

    У вашего сайта перед адресом появляется зеленый замочек, или название компании, что для знающих людей, говорит о защите данных, как следствие повышает доверие.

    В скором будущем (2 - 3 года) протокол HTTP уйдет в небытие, как небезопасный протокол и будет только защищенное соединение.

    Переходим к вопросу, как выбрать SSL-сертификат. С одной стороны, все просто купил сертификат и попросил хостинг-компанию установить сертификат на сайт. Но, есть ряд моментов. И первый — это выбор сертификата.

    Виды SSL-сертификатов

    SSL сертификаты выпускает ряд компаний (Comodo, Geotrust, Symantec, Thawte) и есть разные уровни сертификатов. Давайте разберемся какой же сертификат нам выбрать.

    По уровню доверия сертификаты бывают:

    Self-Signed (самоподписанные) - это сертификат, который вы можете сгенерировать самостоятельно. Браузеры не доверяют таким сертификатам, поэтому при входе на сайт выдается предупреждение о сомнительной безопасности. При взломе такого сертификата вам никто не будет возмещать ущерб. Кроме этого, в некоторых ситуациях, повлекших ущерб третьих лиц, к вам могут быть применены особые штрафные санкции.

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

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

    Количество доменов.

    Стандартные SSL сертификаты - выпускаются для защиты одного доменного имени.

    Wildcard SSL сертификаты - позволяют активировать защиту для одного домена и множества поддоменов.

    Язык.

    Стандартные SSL сертификаты - подходят для всех доменов с латинскими буквами. Не подходят для кириллических доменов.

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

    Брэнд и усиленная защита.

    EV (extended validation) сертификаты - сертификаты с расширенной проверкой компании (позвонят по телефону, проверят юридическую информацию). Данный сертификат отличается визуально от всех остальных. В строке браузера перед урл будет зеленая строка с названием вашей компании.

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

    Краткий итог по выбору сертификата.

    1. У вас обычный сайт и один домен - берем стандартный сертификат.
    2. Если у вас кириллический домен - берем IDN.
    3. Хотите защитить несколько поддонов - берем WildCard.
    4. Хотите зеленую строку - берем EV.
    5. Храните данные банковских карт клиентов на своем сайте - берем SGC.

    Приобретение и установка SSL-сертификата

    Рассмотрим общие ключевые особенности по приобретению и установке.

    Покупка SSL-сертификата

    Важные моменты по покупке:

    • если вы покупаете стандартный сертификат, то он генерируется автоматически после оплаты и подтверждения вами доменного имени
    • доменное имя подтверждается по почте: на E-mail отправляется автоматическое письмо со ссылкой для подтверждения

    Для подтверждения требуется электронный адрес вида admin@site.ru или webmaster@site.ru

    Никакие другие почтовые ящики вы указать не сможете, поэтому если у вас еще на домене не заведен один из указанных адресов, то создайте.

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

    После оплаты на E-mail придут данные, которые нужно отправить хостинг-провайдеру, а именно:

    • сертификат (начинается со слов begin sertificate),
    • приватный ключ
    • цепочки сертификатов, если есть (не обязательно)

    Всю установку сертификата к домену проделает хостинг компания.

    Выделенный IP-адрес

    Устанавливать SSL и переводить сайт на https можно как на прежнем IP-адресе, так и на выделенный (отдельный).

    Т.е. можно остаться на прежнем IP-адресе, можно получить новый.

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

    Выделенный IP, как правило, платный: стоимость уточняйте у своего хостера.

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

    Настройка SSL (https) для Joomla

    Что значит нормальная работа по https?

    Это когда сайт загружается корректно и у названия сайта горит зеленый значок (во всех браузерах кроме Safari, в этом браузере просто серый замок).

    Нормальная работа SSL

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

    Ненормальная работа SSL

    Нормальная работа сайта по https предполагает:

    1. соответствующий протокол для всех внутренних ссылок сайта
    2. https-протокол для CSS- и JS-файлов, картинок и иных подгружаемых файлов
    3. отправку данных форм по https
    4. редирект страниц с http на https

    Поэтому сейчас переходим к настройке Joomla для соблюдения всех необходимых условий.

    Изменения в файле конфигурации Joomla

    1. открываем файл configuration.php, находим директиву live_site и прописываем https://site.ru (URL без слэша на конце)
    2. в этом файле находим опцию force_ssl и ставим значение 2, чтобы админка и внешний интерфейс открывались по протоколу https (если поставим 1, то по защищенному протоколу будет открываться только админка)

    Включение SSL в админке Joomla

    Опцию force_ssl не обязательно изменять напрямую в файле конфигурации: можно зайти в панель управления Joomla (СистемаОбщие настройки, вкладка Сервер, раздел Настройки сервера) и выбрать соответствующее значение для опции Включить SSL:

    Включить SSL в админке Joomla

    При этом измениться значение опции force_ssl в файле конфигурации Joomla.

    Важно знать:
    В настройках некоторых компонетов (VirtueMart, JoomShopping) также есть опция по включению SSL для редиректа на https страниц данных компонентов.

    При правильной настройке сервера и корректной установке SSL-сертификата опция Включить SSL (force_ssl в файле конфигурации) обеспечивает нормальную работу сайта на Joomla по https: все подключаемые файлы и внутренние ссылки будут работать по защищенному протоколу, а при запросе страниц по протоколу http будет происходить редирект на https.

    Дополнительные действия для Joomla

    Если приведенные выше действия не обеспечили нормальную работу Joomla по протоколу https, то опробуйте следующие методы:

    Изменение в файл конфигурации

    Добавляем в конец файла configuration.php следующую строчку:

    $_SERVER['HTTPS'] = 'on';

    Получится вот так:

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

    Редирект главной страницы

    Открываем файл .htaccess и прописываем следующий код для главного редиректа при запросе вашего сайта через строку браузера.

    Код размещаем после строки RewriteEngine On:

    RewriteCond %{HTTPS} off
    RewriteRule ^(abc/def|ghi)(.*)/?$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]

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

    Но! Осталось проделать еще 2 важных пункта.

    Пути к изображениям и формам

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

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

    Но есть изображения, путь которые вставлены в HTML-код и к ним указан абсолютный путь. Вот у таких изображений нужно в пути вместо http:// написать https://.

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

    На будущее, если вы хотите указать абсолютный путь (полный) к файлу, то прописываем без указания протокола, например //site.ru/images/photo.jpg

    Если на вашем сайте есть формы на подписку, то в коде формы меняем URL, на который будут передаваться данные.

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

    Как искать изображения, которые загружаются не по https?

    1. открываем браузер Google Chrome
    2. заходим на проблемную страницу
    3. нажимаем Просмотреть код

    4. открываем консоль и видим список всех элементов, использующих небезопасный протокол

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

    Действия после настройки SSL на Joomla

    После того, как будет обеспечена нормальная работа страниц сайта по протоколу Https, необходимо осуществить следующие действия:

    Сообщить поисковым системам, что сайт переехал на https

    Это важный момент в отношении SEO: для поисковых систем сайт, доступный по разным протоколам, будет считаться разными сайтами, что может создать проблемы для продвижения сайта. Чтобы исключить такие проблемы, необходимо воспользоваться соответствующими инструментами поисковых систем:

    Заходим в Яндекс.Вебмастер, ставим соответствующую галочку:

    Заходим в robots.txt и дописываем директиву host: https://site.ru

    В Google Search Console необходимо будет добавить новый сайт с протоколом https, предварительно подтвердив права на него предложенными сервисом способами.

    Проверка карты сайта

    Обязательно следует проверить карту сайта на то, что все ссылки начинаются c протокола https.

    Дополнительно рекомендуется загрузить обновленную ссылку на карту сайта в Google Search Console и Яндекс.Вебмастер.

    Проверка старых редиректов

    Если вы делали редиректы через Redj или RSSEO, то проверьте и подправьте, чтобы конечный адрес был с https.

    Полезная информация:
    Подробная видеоинструкция по установке SSL-сертификата и перевода Joomla на HTTPS есть в основном курсе по Joomla! .

    Как быстро разобраться в Joomla?

      Центр Обучения Joomla!

      "Все, что нужно знать о Joomla в одном месте"

      Joomla Последняя версия
      Joomla! — 3.9.1

      Скачать

      Бесплатный курс «20 шагов к полной защите вашего сайта»

      Чтобы получить доступ введите имя и ваш е-маил. Доступ будет выслан на ваш е-маил адрес.

      Курс "Как создать свой сервис рассылки на Joomla?"

      Чтобы получить бесплатный доступ введите имя и ваш е-маил. Доступ будет выслан на ваш е-маил адрес.

       

      Базовый курс по Joomla 3.9

      В КУРСЕ ВАС ЖДЕТ:

      Видеоуроки по Joomla 3.9

      После уроков вы: зарегистрируете домен и хостинг, установите и правильно настроите CMS Joomla, установите и настроите шаблон, получите понимание как работать с Joomla.

      Лучшие расширения для Joomla

      Вы получите список и описание лучших бесплатных и платных расширений для Joomla.

      Пошаговый процесс создания сайта

      Выполните 22 действия по чек-листу и ваш сайт готов.

      Хостинг в подарок

      3 месяца качественного хостинга в подарок для беззаботного начала работы над своим проектом.
      Введите e-mail для которого нужно выставить доступ к курсу: