Как установить SSL сертификат на сайт
Опубликовано: 23.08.2018
Здравствуйте, уважаемые коллеги, гости WordPress-book.ru. Как вы наверное уже слышали, с начала 2017 года поисковая система Google начнет занижать в поисковой выдаче сайты, не имеющие ssl сертификата. Грозятся такие проекты помечать черной меткой слева от URL и тем самым распугивать посетителей. Думаю, Яндекс тоже скоро подтянется. Давайте разбираться, что такое SSL сертификат, какие бывают его разновидности и как установить его на сайт.
Содержание:
Что такое SSL-сертификат Какие бывают SSL-сертификаты Где и как получить SSL-сертификат Установка сертификата на сайт хостинга TimeWeb Разблокировка контента Последние штрихи Проверка работы установленного сертификата Устранение проблем смешанного контента Уведомление поисковиков о новом сайте1. Что такое SSL-сертификат
SSL-уровень защищенных сокетов (дополнение к стандартному протоколу, обеспечивающее безопасное соединение в зашифрованном виде). Для работы защищенного протокола требуется установка SSL-сертификата на сайт.
Как вы уже наверняка замечали, URL большинства веб-проектов начинаются с http , а у других, более продвинутых, с https . Так вот, ресурсы с окончанием " S" на конце протокола http имеют ssl сертификат и ресурс считается безопасным, то есть все данные обмена между браузером пользователя и сервером сайта шифруются. Если http расшифровывается как протокол передачи гипертекста, то https как безопасный протокол передачи гипертекста.
Разберемся в вопросе выбора, получения ssl сертификата, установки его на сайт и приспособления проекта к жизни с новыми реалиями.
2. Какие бывают SSL-сертификаты
По доверию
- Самоподписные (self-signed). Браузер о вашем личном сертификате ничего не знает и будет об этом предупреждать посетителей, сгодится только для корпоративных сайтов узкого круга одной компании. - Доверительные (trasted). Выпускаются официальными сертификационными центрами, выбор для любых публичных сайтов.По уровню проверки
- Простая (Domain Validation, DV). В сертификате только домен. Подойдет для блогов, информационных сайтов, сайтов визиток. - С проверкой компании (Organization Validation, OV). В сертификате домен и название компании. Для интернет-магазинов. - С расширенной проверкой (Extended Validation, EV). В сертификате домен и название компании. В адресной строке компании ее название зелеными буквами. Для платежных систем, банков.По количеству доменов на один сертификат
- Для одного домена или поддомена. - До 100 доменов (multi-domen). - На один домен и все его поддомены (wildcard).По цене
- Бесплатные (некоммерческие проекты, молодые блоги и сайты). - Платные (для крупного портала, серьезного блога и т.д.)Рассмотрим разницу между бесплатным и платным сертификатом. Для примера возьмем сертификаты Lets Encrypt и Comodo Positive SSL соответственно.
Lets Encrypt | Comodo Positive SSL |
Бесплатно | Около 500 руб. в год |
Действителен 90 дней (обновляется автоматически) | Срок действия от 1 года |
Высокое качество и стандарт шифрования | |
Только на 1 домен | |
Нет возможности установить на домен в зоне .рф | Есть возможность установить на домен в зоне .рф |
Нет гарантий при утечке данных | Гарантия – 10 000 $ |
Может быть несовместим с некоторыми старыми браузерами | Распознают 99,3% браузеров |
Упрощенная процедура проверки (не нужны документы организации). |
3. Где и как получить SSL-сертификат
Как уже было сказано, выпуском SSL занимаются официальные центры, такие как Comodo. Но покупать там напрямую нерационально. Существуют специальные партнерские центры, регистраторы доменов, некоторые хостинги, которые покупают сертификаты у официальных центров по оптовой цене, а потом перепродают нам со значительной скидкой.
Могу порекомендовать партнерский центр – https://www.firstssl.ru/ . Интерфейс сервиса интуитивно понятен, к нашим услугам несколько фильтров, по которым поиск и выбор сертификата значительно упрощается. Посмотрите видео с подробными инструкциями по покупке сертификата Сomodo Рositive SSL у упомянутого партнера.
Будет несправедливо обойти стороной регистратор доменных имен REG.RU. Серьезный ресурс во всем, в том числе и в продаже SSL. Сертификаты подороже чем в firsssl, зато reg.ru щедры на акции и скидки, посмотрите сами - https://www.reg.ru/company/promotions/ .
4. Установка SSL-сертификата на сайт хостинга TimeWeb
Установку будем производить на примере бесплатного сертификата Lets Encrypt на хостинге TimeWeb , поскольку TimeWeb самый популярный хостинг в РФ и он лучше всех остальных подготовился к нововведениям.
Владельцы сайтов, припаркованных на других хостингах, выясните у своей технической поддержки, как установить у них SSL-сертификат.
Заказ SSL-сертификата на хостинге
Зайдите в панель управления хостинга.
Перейдите в раздел " Дополнительные услуги ". Далее по ссылке " SSL-сертификаты ". В новом окне в поле " Сертификат " выберите требуемый. В поле " Домен " выберите свой, для которого заказывается сертификат.Согласитесь с правилами предоставления услуг и нажмите на кнопку " Заказать ".
Нажмите на кнопку " OK " в новом окошке с сообщением об отправке заказа на SSL-сертификат.
На странице " Дополнительных услуг " очень скоро появится информация о подключении выбранного сертификата на домен.
Настройка переадресации
Чтобы при обращении к сайту по старому адресу с http происходила автоматическая переадресация на https , выполните следующие несложные действия:
На главной странице панели управления timeweb перейдите в раздел " Сайты ". Кликните по шестеренке у своего домена чтобы перейти к настройке переадресации. В новом окне активируйте опцию " использовать безопасное соединение https// " и не забудьте сохранить изменения.Веб-мастерам сайтов не на TimeWeb следует поинтересоваться у технической поддержки своего хостинга о том, как сделать переадресацию с http на https (какой код прописать в файл .htaccess ). Хотя и в Интернете этой инфы предостаточно, но не всякий код подойдет именно под ваш хостинг.
5. Разблокировка контента
После установки сертификата и перехода на протокол с шифрованием передачи данных, ваш сайт неприглядно изменится. Это браузер посчитает, что некоторый контент небезопасен (много где еще останутся скрипты, ссылки со старым протоколом) и заблокирует его. Кроме того, вход в админку вызовет некоторые затруднения по той же причине. Не пугайтесь, эту проблему решить очень просто.
1. В файл .htaccess , через ftp или через файловый менеджер панели администратора на хостинге, самой последней строкой вставьте код – " SetEnvIf X-HTTPS 1 HTTPS ".
2. В файл конфигурации wp-config.php вставьте код " define(‘FORCE_SSL_ADMIN’, true); ".
Оба файла находятся в корневой папке сайта (на WordPress public_html ), если кто не знает.
6. Последние штрихи
1. В админке сайта перейдите в раздел " Настройки " и далее " Общие ".
2. В поля " Адрес WordPress (URL) " и " Адрес сайта (URL) " добавьте " s" в конец http . После этого все картинки проекта должны снова появиться там, куда они ранее были загружены.
3. В robots.txt исправьте адрес хоста и путь к карте сайта. Просто добавьте https:// перед URL как на картинке.
7. Проверка работы установленного сертификата
Для диагностики возможных ошибок установки и работы SSL сертификата воспользуйтесь онлайн-сервисом SSL Checker . Просто введите URL сайта в поле и нажмите на кнопку " Check SSL ". Если результат получится как на картинке ниже с зелеными галочками и стрелочкой, без красного и без восклицательных знаков в желтых треугольниках, значит все в порядке, можете ставить шампанское на лед или водку в морозильник, кому что больше по вкусу.
8. Устранение проблем смешанного контента
Дорогие коллеги, когда все выше обозначенные работы будут позади, перед доменом сайта в адресной строке браузера должен появиться значок замка зеленого цвета с аббревиатурой https тоже зеленого цвета.
Если замок не появился и https не перекрасился из серого в зеленый, значит на странице сайта существует проблема так называемого смешанного контента. Исправьте в ссылках на странице, в сайдбаре, в футере и т.п. все http на https , иначе браузер будет считать страницу небезопасной и соответственно на это реагировать.
Можно, конечно, облегчить себе жизнь и установить специальное расширение. Для WordPress подойдет плагин HTTP/HTTPS Remover , но он не во всех случаях помогает и кроме того это не наш метод. Для сайта с не очень большим количеством страниц можно исправить все вручную.
У браузера Google Chrome в этой работе нам в помощь есть один хороший инструмент.
Чтобы его вызвать, на проблемной странице кликните по кружочку с буквой " i" в адресной строке в начале URL страницы. В открывшемся окошке перейдите по ссылке " Подробнее ". В появившейся нижней панели перейдите на вкладку " Console ".Тут для нас информация по всем ссылкам и внешним скриптам, в которых требуется исправить http на https . Друзья, если у вас возникнут трудности по устранению проблемы смешанного контента, пишите мне на почту, помогу, если не лень будет конечно ???? .
Внутренние ссылки, в том числе и на картинки, на каждой странице тоже придется исправить. Для ручной работы, чтобы поставить этот процесс на конвейер, открывайте каждую страницу в режиме текст (по старому html), в поиске браузера (вызывается нажатием клавиш ctrl+F ) впишите свой домен, запустите поиск. После подсветки доменов напрягать глаза для поиска внутренних ссылок уже не придется. После каждого http вставьте букву " s", сохраните изменения и проверьте результат.
Для сайта с сотнями и тем более тысячами страниц ручная правка внутренних ссылок станет настоящей каторгой. Сергей Кокшаров в своей статье " Как одной командой изменить ссылки в базе данных или файлах " подскажет как автоматизировать процесс.
9. Уведомление поисковиков о новом сайте
Как вы, конечно, понимаете, для поисковых систем http://домен.ru и http s://домен.ru - два разных сайта. После перехода на защищенный протокол ваш старый сайт должен прекратить существование и возродиться с новым адресом. Надо уведомить об этом Яндекс и Google. Сделаем это без шума и пыли.
Зайдите в Яндекс Веб-мастер и следуйте следующей инструкции:
Перейдите в раздел " Настройка индексирования " и далее " Переезд сайта ". Выберите свой домен, поставьте галочку у " Добавить HTTPS " и сохраните изменения. Откройте главную страницу " Яндекс Веб-мастер " и перейдите там по ссылке " добавить сайт ".Старый можно будет удалить.
Загрузите карту сайта в формате xml перейдя в " Настройка индексирования "→" Файлы Sitemap ", для чего укажите путь к карте сайта и нажмите на кнопку " Добавить ". Последнее, что тут осталось сделать, это убедиться, что все работает, нет ни фатальных, ни критических ошибок, ни каких-либо других проблем. Для этого перейдите в раздел " Диагностика "→" Диагностика сайта ".Не расслабляйтесь, робот еще не до конца выполнил всю свою работу. Вполне может оказаться что он не сможет загрузить что-нибудь. К примеру, на wordpress-book.ru в Яндекс Веб-мастере при проверке robots.txt всплывало сообщение: "Сервер отвечает редиректом на запрос /robots.txt".
Пришлось тогда временно отключить на сервере редирект с http на https для загрузки robots.txt. А то уже в индекс стало попадать множество дублей. После включения редиректа обратно, ошибка больше не появлялась.
Что касается Гугла, то там, как ни странно, не все так продумано. Вам придется в кабинете веб-мастера по новой добавить новый старый сайт с https .
Главное, как и в Яндексе, обязательно загрузите карту сайта для более быстрой индексации контента ресурса.
На этом, пожалуй, можно и закончить. Если у кого будут вопросы, замечания, предложения, ..., пишите в комментариях или лично мне на почту.