- Как правильно установить SSL-сертификат на Joomla?
- Содержание
- Что такое SSL?
- Преимущества использования SSL
- Виды SSL-сертификатов
- Приобретение и установка SSL-сертификата
- Покупка SSL-сертификата
- Установка SSL-сертификата
- Выделенный IP-адрес
- Настройка SSL (https) для Joomla
- Изменения в файле конфигурации Joomla
- Включение SSL в админке Joomla
- Дополнительные действия для Joomla
- Изменение в файле .htaccess
- Изменение в файл конфигурации
- Редирект главной страницы
- Пути к изображениям и формам
Как правильно установить SSL-сертификат на Joomla?
В данном материале вы узнаете о том, как установить и настроить SSL-сертификат на Joomla и правильно перевести сайт на HTTPS-протокол. Рассмотрены возможные проблемы и приведены дополнительные действия, которые могут понадобиться при установке, а также после установки SSL на сайт.
Содержание
- Что такое SSL?
- Преимущества использования SSL
- Виды SSL-сертификатов
- Приобретение и установка SSL-сертификата
- Настройка SSL (https) для Joomla
- Дополнительные действия для Joomla
- Действия после настройки SSL на Joomla
Что такое SSL?
SSL (Secure Sockets Layer, пер. уровень защищенных сокетов) — это криптографический протокол, который используется, чтобы обеспечить зашифрованное соединение между сайтом и браузером. SSL сертификат позволяет нам использовать HTTPS.
Важно понимать, что по умолчанию все наши сайты загружаются по протоколу HTTP (Hyper Text Transfer Protocol, пер. протокол передачи гипертекста). При этом данные не шифруются и могут быть перехвачены и использоваться третьими лицами.
Вы можете сказать: «Мне нечего скрывать, пускай за мной следят». Но давайте рассмотрим подробнее ряд важных преимуществ, которые вы получаете при использовании SSL.
Преимущества использования SSL
Если вы авторизуетесь на вашем сайте, используя публичный wi-fi (например, в кафе или метро), знайте, что в процессе соединения с вашим сайтом ваши данные могут быть перехвачены, а следовательно, вы можете потерять доступ к сайту (навсегда).
Первый пункт применим не только к вам как администратору, но и к клиентам. Другими словами у ваших клиентов могут украсть данные для авторизации с вашим сайтом. Поэтому все уважающие себя сайты используют защищенное соединение.
3. Высокие позиции в поисковой выдаче
Сайты, которые загружаются по https при прочих равных условиях получают более высокие позиции от поисковых систем.
Для безопасности многие сервисы для интеграции с ними начинают требовать передачу данных по защищенному соединению. Следовательно, без наличия 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 сертификат — это самые мощные сертификаты из доступных на сегодня. Необходим для компаний среднего и крупного бизнеса, а так же если вы хотите хранить данные банковских карт клиентов на своем сайте.
Краткий итог по выбору сертификата.
- У вас обычный сайт и один домен — берем стандартный сертификат.
- Если у вас кириллический домен — берем IDN.
- Хотите защитить несколько поддонов — берем WildCard.
- Хотите зеленую строку — берем EV.
- Храните данные банковских карт клиентов на своем сайте — берем 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 , в этом браузере просто серый замок).
Если же на вашем сайте не все изображения загружаются по протоколу https или найдены другие, вышеперечисленные ошибки, то будет вот такой значок.
Нормальная работа сайта по https предполагает:
- соответствующий протокол для всех внутренних ссылок сайта,
- https-протокол для CSS- и JS-файлов, картинок и иных подгружаемых файлов,
- отправку данных форм по https,
- редирект страниц с http на https.
Поэтому сейчас переходим к настройке Joomla для соблюдения всех необходимых условий.
Изменения в файле конфигурации Joomla
- открываем файл configuration.php , находим директиву live_site и прописываем https://site.ru ( URL без слэша на конце)
- в этом файле находим опцию force_ssl и ставим значение 2, чтобы админка и внешний интерфейс открывались по протоколу https (если поставим 1, то по защищенному протоколу будет открываться только админка)
Включение SSL в админке Joomla
Опцию force_ssl не обязательно изменять напрямую в файле конфигурации: можно зайти в панель управления Joomla ( Система → Общие настройки , вкладка Сервер , раздел Настройки сервера ) и выбрать соответствующее значение для опции Включить SSL :
При этом измениться значение опции force_ssl в файле конфигурации Joomla .
Важно знать:
В настройках некоторых компонентов (VirtueMart, JoomShopping) также есть опция по включению SSL для редиректа на https страниц данных компонентов.
При правильной настройке сервера и корректной установке SSL-сертификата опция Включить SSL ( force_ssl в файле конфигурации) обеспечивает нормальную работу сайта на Joomla по https : все подключаемые файлы и внутренние ссылки будут работать по защищенному протоколу, а при запросе страниц по протоколу http будет происходить редирект на https .
Дополнительные действия для Joomla
Если приведенные выше действия не обеспечили нормальную работу Joomla по протоколу https , то опробуйте следующие методы:
Изменение в файле .htaccess
В конец файла .htaccess добавляем следующую строку кода:
Изменение в файл конфигурации
Добавляем в конец файла configuration.php следующую строчку:
Этот хак должен обеспечить работу сайта по https , но содержимое файла будет обновляться при каждом изменении конфигурации, и указанную выше строчку придется дописывать вновь.
Редирект главной страницы
Открываем файл .htaccess и прописываем следующий код для главного редиректа при запросе вашего сайта через строку браузера.
Код размещаем после строки RewriteEngine On :
Сейчас ваш сайт всегда будет открываться по протоколу https и будет загружаться со всеми стилями, скриптами и изображениями.
Но! Осталось проделать еще 2 важных пункта.
Пути к изображениям и формам
Если на странице вашего сайта будут найдены изображения, которые загружаются не по протоколу https , то зеленого значка около названия вашего сайта не видать. Сам сертификат при нажатии на него будет говорить, что не все элементы грузятся по безопасному протоколу. В этом случае проверяем и исправляем.
По умолчанию, все картинки, которые вы вставляете через формы вставок картинок или через визуальный редактор автоматически меняют свой протокол загрузки и за них переживать не стоит.
Но есть изображения, путь которые вставлены в HTML-код и к ним указан абсолютный путь. Вот у таких изображений нужно в пути вместо http:// написать https:// .
Изображения могут быть как в текстах, модулях, так и неправильно прописаны, например, в файлах стилях вашего шаблона.
На будущее, если вы хотите указать абсолютный путь (полный) к файлу, то прописываем без указания протокола, например //site.ru/images/photo.jpg
Если на вашем сайте есть формы на подписку, то в коде формы меняем URL , на который будут передаваться данные.
В результате нам нужно проверить все страницы сайта и, при необходимости дописать букву у обозначения протокола.
Как искать изображения, которые загружаются не по https?
1. открываем браузер Google Chrome,
2. заходим на проблемную страницу,
3. нажимаем Просмотреть код,
4. открываем консоль и видим список всех элементов, использующих небезопасный протокол,