Хотим мы того или нет, но переход на https неизбежен. Активно стимулирует владельцев к переходу на безопасную версию http компания Google: как минимум, в адресной строке Chrome (да уже и других браузеров) будет отметка о том, что соединение не защищено, как максимум, поисковые результаты с сайта не будут появляться в так называемых rich snippets, что довольно плохо для Интернет-магазинов.
Сообщение о незащищенном соединении в браузере Opera
Ранее мы писали о выборе SSL-сертификата, поэтому не будем повторяться, а лучше покажем, как настроить веб-сервер Apache для работы по https. При покупке обычного хостинга все операции с SSL-сертификатом осуществляются, как правило, с помощью предоставляемой хостером панели управления – все достаточно просто. Когда же у нас есть собственный виртуальный сервер, настраивать все придется вручную.
Первым делом нужно заказать сертификат. Сделать это можно в панели управления Xelent в разделе SSL. Просто нажмите кнопку Заказать сертификат и выберите какой именно сертификат вы хотите купить.
Раздел SSL
Параметры сертификата
В результате заказа сертификата вам будут предоставлены два файла – SSL-файл сертификата (расширение pem) и ключевой файл (расширение key). Оба эти файла нужно поместить в каталог /etc/ssl.
Перейдите в каталог /etc/apache2/sites-available. В нем хранятся конфигурационные файлы сайтов, работающих на вашем веб-сервере.
Откройте файл, содержащий конфигурацию сайта, для которого вы купили сертификат. Далее представим, что наш сайт называется firma.ru. Конфигурация для него будет следующей:
Разберемся, что и к чему. Сначала мы создаем виртуальный хост для порта 80, который будет работать как перенаправление – на https-версию сайта. Можно было бы сделать это и через .htaccess, но поскольку у нас есть доступ к конфигу сервера, то можно сделать это прямо здесь.
Далее мы описываем виртуальный хост для порта 443 (используется SSL). Настройки такие же, как и для обычной версии сайта (ServerName, DocumentRoot и т.д.). Отличие заключается только в наличии трех SSL-директив. Первая включает SSL, вторая задает PEM-файл, третья – KEY-файл.
После этого нужно сохранить файл конфигурации и перезапустить Apache:
sudo systemctl restart apache2.service
или (в зависимости от вашего дистрибутива)
sudo service apache2 restart
Обратитесь к вашему сайту. Если вместо надписи На защищено появилось изображение зеленого замка, то все хорошо и настройку можно считать завершенной.
Соединение защищено
Иногда замок отображается не зеленым, а серым и не закрытым, а открытым. Это означает, что не все ресурсы сайта загружаются по протоколу https. Откройте исходный код страницы и произведите поиск по строке "http://" (без кавычек). Ваша задача – найти адреса ресурсов (JS, CSS, картинок), которые загружаются по протоколу http. Исправьте URL проблемных ресурсов на https:// и снова обновите страницу сайта. Если вы все сделаете правильно, вы увидите зеленый замок соединения.