Как установить SSL сертификат: пошаговая инструкция. Как установить SSL сертификат

Для чего необходим SSL-сертификат

HTTP-протокол, по которому в настоящий момент передается большинство html-страниц в сети Интернет, не может защитить данные, передаваемые между сервером и браузером посетителя. К таким данным можно отнести любую передаваемую информацию: пароли, номера телефонов, e-mail и т.д.

Обеспечить защиту передаваемых данных помогает установка SSL-сертификата . В этом случае соединение, устанавливаемое между браузером и сайтом, происходит по протоколу HTTPS. Данные, которые передаются по протоколу HTTPS, кодируются криптографическим протоколом, тем самым обеспечивается их защита.

Установка SSL-сертификат на ваш сайт позволяет:

Для интернет-магазина наличие SSL-сертификата позволит использовать такие сервисы как: Google Merchant и некоторые платежные шлюзы, например Яндекс.Касса

Более подробная информация о необходимости использования SSL-сертификата есть в .

2 способа подключения SSL-сертификата для домена интернет-магазина на InSales

Заказать SSL-сертификат через бэк-офис сайта

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

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

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

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


В случае использования шифрования для всех страниц уже проиндексированного сайта предварительно проконсультируйтесь со своим SEO-специалистом и изучите рекомендации Яндекса и Google по миграции сайта с HTTP на HTTPS. Если для вас трафик из Яндекса имеет большее значение, то при настройке включите опцию "". В этом случае переключение сайта на https будет происходить в соотвествии с рекомендациями Яндекса в два этапа.

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


Для оплаты получения SSL-сертификата перейдите в раздел "Аккаунт" -> "Счета" и оплатите счет любым удобным способом.


После оплаты счета SSL-сертификат будет автоматически подключен для вашего домена в течение 4-х часов.

Если при настройке SSL вы выбрали опцию "Включать безопасно для трафика в Яндексе ", то сайт будет работать в переходном режиме. Он будет доступен и по HTTP и по HTTPS, редиректов с HTTP на HTTPS не будет. Выполнив настройки в Яндекс.Вебмастере в соответствии с рекомендациями Яндекса , нужно дождаться когда Вебмастер сообщит о смене главного зеркала на HTTPS. После этого нужно вернуться на страницу Настройки -> Домены и нажать "Проиндекирован. Завершить подключение" .


После этого переход сайта на HTTPS завершится.

Загрузить свой SSL-сертификат

К домену, привязанному к сайту на InSales, также можно подключить сторонний SSL-сертификат.

Мы поддерживаем все типы SSL-сертификатов от любых поставщиков.

Для подключения стороннего SSL-сертификата необходимо запросить у поставщика Приватный ключ и всю Цепочку сертификатов .

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

В этой статье мы рассмотрим, как заказать бесплатный SSL–сертификат и установить его на облачный VPS от Infobox . Базовые SSL–сертификаты бесплатно выдает центр сертификации StartCom .

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

Бесплатные сертификаты предназначены для веб-сайтов, которым необходима защита секретности личных данных и предотвращение возможности прослушивания интернет-соединений. Информация, представленная в сертификатах этого вида, кроме имени домена и адреса электронной почты, не подтверждена. Если вам необходима сертификация более высокого уровня - можно заказать SSL сертификат в панели управления Infobox на главной странице в блоке «Мои услуги» -> «Заказать новую услугу». Доступ к панели управления предоставляется при заказе любой услуги, например VPS или облачных VPS .

Для обеспечения секретности передаваемых данных простых сайтов сертификаты StartCom подходят неплохо.
Бесплатные сертификаты от StartCom на самом деле не совсем бесплатные. Если потребуется отзыв сертификата - эта процедура стоит $24 у StartCom.

Заказ бесплатного SSL–сертификата

Откройте страницу заказа бесплатного сертификата SSL. Заполните информацию о вас (данные должны быть реальными, это очень важно).

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

Введите код и нажмите «Continue»

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

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

Теперь у вас есть доступ к сертифицирующему центру. На следующем шаге введите имя домена, для которого хотите получить сертификат.

Для подтверждения домена необходимо создать на нем один из трех адресов:

  • postmaster@domain
  • hostmaster@domain
  • webmaster@domain
Если у вас еще не подключена почта для домена, можно привязать домен к бесплатной Яндекс.Почте или воспользоваться бизнес-почтой «Офис 24»

После создания почтового ящика на домене выберите его у StartCom и подтвердите принадлежность домена вам.

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

Рекомендуется пропустить этот шаг и сгенерировать CSR на вашем облачном VPS. Так секретный ключ не окажется у StartCom.
Для генерации CSR подключитесь к виртуальному серверу по SSH (подробнее в следующем разделе) и выполните команду:
openssl req -new -newkey rsa:4096 -nodes -keyout /etc/ssl/private.key -out /etc/ssl/domain.csr

В FQDN укажите ваш домен. E–mail адрес обязательно должен быть в этом домене, например [email protected].

После генерации выведите на экран консоли содержимое файла domain.csr:
cat /etc/ssl/domain.csr
и вставьте в поле мастера выдачи сертификатов, который появится после нажатия на Skip окна генерации сертификатов.

Согласитесь с предложенным именем домена.

На следующем шаге добавьте поддомен www к сертификату.

Завершите процесс получения ssl.crt и сохраните его.

Вам понадобится корневой и промежуточный сертификаты StartCom. Для их получения перейдите в раздел Toolbox -> StartCom CA Certificates.
Сохраните файлы по ссылке Class 1 Intermediate Server CA (sub.class1.server.ca.pem) и StartCom Root CA (ca.pem).

В итоге у вас будут сохранены на локальном компьютере следующие полезные файлы:

  • ca.pem
  • sub.class1.server.ca.pem
  • ssl.crt
На сервере в папке /etc/ssl/:
  • private.key

Копируем файлы на сервер

Создайте сервер из шаблона Ubuntu 14.04 lamp в облаке . Процесс создания сервера был рассмотрен в статье ранее.
Необходимо скопировать ca.pem, sub.class1.server.ca.pem и ssl.crt в папку /etc/ssl (если ее нет - создать).

Это можно сделать например через Filezilla (установка клиента рассмотрена также в статье). Однако способ подключения будет отличаться, так как нужен доступ не только к папке сайта, но и ко всему серверу.

Добавьте новое SFTP подключение, как показано на скриншоте ниже. Используйте логин и пароль от сервера, которые пришли на вашу электронную почту после создания сервера, а также внешний ip–адрес сервера.

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

Подключение будет успешно установлено.

Перейдите в папку "/etc/ssl" и скопируйте туда файлы ca.pem, sub.class1.server.ca.pem и ssl.crt.

Теперь подключитесь к серверу по SSH .

Включаем SSL в NGINX

В шаблоне LAMP настраивать SSL нужно на реверс-прокси NGINX.

Если ранее при генерации CSR вы установили пароль, расшифруйте приватный ключ командой:
openssl rsa -in /etc/ssl/ssl.key -out /etc/ssl/private.key

Объедините корневой и промежуточный сертификаты командой:
cat /etc/ssl/sub.class1.server.ca.pem >> /etc/ssl/cau.pem

Добавьте к объединению ваш сертификат
cat /etc/ssl/ssl.crt /etc/ssl/cau.pem >> /etc/ssl/group.crt

Откройте результат в nano:
nano /etc/ssl/group.crt
Сохраните изменения (Ctrl+X, Y, Enter).

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

Теперь установите права для доступа к private.key:
chmod 600 /etc/ssl/private.key

Отредактируйте файл конфигурации nginx:
nano /etc/nginx/sites-enabled/default

Внесите изменения, как показано на скриншоте ниже (вместо le-vert.ru используйте ваш домен):

Перезапустите NGINX.
service nginx restart

Если вы попробуете зайти на сайт по ip–адресу по протоколу HTTPS, то вы увидите предупреждение о том, что сертификат небезопасен.

Для безопасного соединения заходите на сайт по имени домена.

Для этого в DNS-записи А для домена и поддомена www укажите ip–адрес сайта и дождитесь обновления DNS. Либо для тестирования пропишите соответствие ip–адреса сервера и домена в файле hosts вашей ОС.


Единственное небезопасное что осталось - картинкa на странице загружается по http. Для того, чтобы сайт был доверенным, загружайте картинки по https.

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

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

Ну а в этой статье давайте разберемся, как последовательно и правильно перенести веб-проект на https и при этом максимально безопасно склеить сайты как в Яндекс, так и в Google.

1. Покупаем SSL сертификат

В рамках данной статьи будем рассматривать сертификаты с подтверждением доменного имени и бесплатный let"s encrypt, который, к слову, подключён и к этому блогу.

Какой выбрать SSL сертификат для своего сайта?

Существует с десяток центров сертификации. Но самые популярные: Comodo, GeoTrust и GlobalSign.

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

  • Comodo Essential SSL – цена от 650 до 1500 рублей в год;
  • GeoTrust RapidSSL - цена от 650 до 1500 рублей в год;
  • GlobalSign DomainSSL - от 2000 до 3000 тысяч, но сильно цены не сравнивал по нему, скорей всего есть и дешевле.

Основной минус сертификатов которые дешевле этих, в том, что длина ключа подписи может быть равна 1024 битам. Google и современные браузеры советуют использовать подпись длиною 2048 и более бит. Все вышеописанные сертификаты предоставляют именно такую длину ключа.

Использование бесплатного сертификата Let’s Encrypt

Если проект не коммерческий и не несёт в себе какой-то любой другой функции, связанной с личными данными, регистрациями, введением паролей, то можно использовать бесплатный let"s encrypt. Он обладаем всеми соответствующими характеристиками.

Если планируете подключать сервисы онлайн платежей, то, например, Robokassa с бесплатными сертификатами не будет работать!

Я для себя выбрал Comodo Essential SSL (покупаю по 650 рублей у ). Сложно сказать почему, наверно больше сыграл тот момент, что этот центр сертификации самый популярный в мире:

Важно знать:

  • Для кириллических доменов нужны сертификаты с поддержкой IDN;
  • Для установки платного сертификата необходимо иметь выделенный ip адрес, для бесплатного Let’s Encrypt это не обязательно.
  • Let’s Encrypt выдается на 90 дней и его надо будет переподписывать. Мой хостинг-провайдер () реализовал возможность автоматического продления, за что большое спасибо им!

Если вы не уверены, стоит ли тратить деньги на покупку SSL, то для вас может быть выход установка бесплатного lets encrypt, с переклейкой сайта и определением главного зеркала. А если возникнет в будущем необходимость, то подключите платный сертификат. Для посетителей и поисковиков такой переход будет не заметен и потерь в плане трафика не будет.

2. Подготовка сайта для переезда на HTTPs

Алгоритм действий идентичный для всех систем управления контентом, но я буду делать акцент на WordPress, потому что все сайты у меня на нём и решать некоторые проблемы приходилось с ним.

1 шаг. Устанавливаем новый адрес сайта в настройках WordPress
Эту замену можно сделать и в базе данных на втором шаге. Но могут возникнуть проблемы, если вы выбрали способ замены ссылок на относительные (подробнее ниже).

Замена адреса сайта в административной части WordPress (Настройки -> Общие).

//сайт/contact/
/contact/

http://сайт на https://сайт

Автозамена с помощью SQL команды в phpMyAdmin:

UPDATE wp_posts SET post_content = REPLACE (post_content, "http://сайт" , "https://сайт" ) ;

Если вы воспользовались этой командой, то знайте, что вам надо пройтись так по всем таблицам базы данных (кроме wp_options), так как ссылки ещё есть в таблице с комментариями и так далее. Я лично делаю бекап БД и меняю адреса сразу во всём файле.

Внимание!

Не меняйте ссылки на относительные во всей базе данных, относительными можно делать только для wp_posts (команда выше). Иначе вы замените url сайта в таблице wp_options и потом будут проблемы с авторизацией в админке.

Вот прочитал всё вышеописанное и пришёл к мнению - не надо в базе данных WordPress никаких относительных ссылок , будет меньше проблем! Пусть будут абсолютные.

2 шаг. Меняем все ссылки в шаблоне на относительные, либо на https
Для этого шага советую использовать опять notepad. Выкачать все файлы шаблона на локальный компьютер и автозаменой во всех файлах поменять адреса на относительные:

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

3 шаг. Мелкие правки по шаблону

Чтобы админка сайта на WordPress работала через защищённый протокол. Добавьте в файл wp-config код:

define ("FORCE_ SSL _ADMIN" , true ) ;

Решаем проблему со статистикой переходов в Яндекс Метрике. Необходимо на сайт добавить мета тег referrer , это даст возможность отдавать referrer тем посетителям, которые переходят с вашего сайта по ссылкам с не защищённым протоколом.

<meta name = "referrer" content = "origin" >

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

На заметку

Сайт будет переклеиваться в поисковиках, будут меняется адреса страниц. Можно воспользоваться этим моментом и поменять, к примеру, неудачную структуру ЧПУ ссылок, перенести какие-то страницы в другой раздел и так далее.

3. Склеиваем сайт

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

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

RSA PRIVATE KEY и BEGIN CERTIFICATE

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

1. 301 редирект со старого на новый домен.
2. Добавление директивы Host и доступный файл Robots.txt для не главного зеркала
3. Сообщить поисковикам о ваших намерениях поменять главное зеркало сайта.
4. Просканировать сайт на наличие битых ссылок, ошибок.

1. Настраиваем перенаправление

Я сторонник сразу склеить сайты 301 редиректом, но существует мнение, да и сам Яндекс писал у себя на блоге , что лучше оставить две версии сайта доступными для поискового робота, при этом указать главное зеркало в директиве Host и в панели Вебмастера. А 301 редирект включить только после того, как версия c https будет признана главным зеркалом.

Может быть, такой подход и имеет смысл для действительно больших проектов, где несколько десятков тысяч страниц. Но во время переноса информационных сайтов, я не успел заметить серьёзных потерь в трафике, связанных именно с 301 редиректом. Яндекс склеивает сейчас действительно быстро, . За 2-3 недели пока идёт процесс склеивания, старые страницы просто не успевают выпасть из индекса за счёт 301 редиректа и трафик продолжает поступать. Изменение поискового трафика на одном информационном проекте:

28 апреля был установлен SSL сертификат с перенаправлением, а 14 мая Яндекс уже склеил зеркала

Код для 301 редиректа

3. Добавление сайт в панели Вебмастеров

В Яндекс Вебмастере заходите в раздел «Настройки индексирования – Переезд сайта», там добавляете главное зеркало. После удачного склеивания ваш основной сайт и его зеркало будет выглядеть вот так:

В консоли Google для веб-мастеров необходимо добавить новый сайт с https, подтвердить его и нажать на шестерёнку, а там выбрать «Изменение адреса»:

Сканируем сайт на ошибки

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

Даже если вы думаете, что везде заменили ссылки на относительные, всё много раз проверили. Я Вас уверяю, ошибки найдутся, особенно если сайт большой! Если на каких-то страницах всё равное не горит зелёный замочек или у вас перестали работать какие-то скрипты, плагины, то открывайте исходный код страницы и ищите все адреса с http .

Всё, осталось только ждать. Через 2-3 недели Яндекс полностью склеит сайты и в поисковой выдаче появится версия с защищённым протоколом HTTPs. Google потребуется примерно столько же времени.

Проверка SSL сертификата на подлинность

Проверить установку и подлинность вы можете сервисом rus.gogetssl.com/check-ssl-installation . В сети много подобных сервисов, которые показывают уровень сертификата, ключ подписи, центр сертификации, срок действия и т. д.

Итак, вы приобрели SSL-сертификат для вашего домена. В процессе заказа вы должны были выбрать авторизационный email, расположенный на вашем домене: admin, administrator, hostmaster, postmaster, webmaster. На выбранный вами авторизационный email придет письмо содержащее ссылку, пройдя по которой, вы подтвердите ваши административные права домена. После этого на ваш контактный электронный почтовый ящик аккаунта поступит несколько писем.

Имеются следующие файлы:

Приватный ключ (для удобства сохраните его в виде простого текстового файла с именем ваш_домен.key)

Файл сертификата для вашего домена, ваш_домен.crt

Два файла цепочки сертификатов PositiveSSLCA2.crt и AddTrustExternalCARoot.crt

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

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

Установка сертификата средствами ISPmanager


1. Войдите в ISPmanager под учетной записью "root". (Если вы заказали VPS сервер на тарифе с администрированием нашими специалистами, то данный шаг необходимо пропустить)

Войдите в меню "Учетные записи" → "Пользователи", выберите пользователя-владельца сайта, к которому требуется привязать SSL-сертификат, и нажмите кнопку "Изменить".


В появившемся установите галочку "Может использовать SSL", если она еще не установлена.


Сохраните изменения кнопкой "Ok".

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


2. Перейдите в раздел "WWW" → "WWW-домены". В списке отображаются все добавленные в конфигурационные файлы веб-сервера домены, в колонке "Параметры" иконками отображается наличие или отсутствие тех или иных модулей веб-сервера, которые участвуют в обработке запросов к сайту. Необходимо подключить модуль для работы с SSL для сайта, для этого выберите домен и нажмите кнопку "Изменить" сверху.


Откроется новая вкладка, в которой нужно установить галочку "Защищённое соединение (SSL)" и "Перенаправлять HTTP-запросы в HTTPS" и сохранить изменения кнопкой "Ok". Обратите внимание, желательно чтобы этот домен был единственным доменом с SSL на этом IP-адресе.


3. Теперь перейдем в раздел "WWW" → "SSL сертификаты", здесь показаны все имеющиеся на сервере сертификаты безопасности, отсюда мы добавим наш. Обратите внимание на наличие самоподписанного сертификата для вашего домена - он был сгенерирован ISPmanager-ом автоматически на предыдущем шаге, в момент когда вы установили галочку "SSL" в настройках WWW-домена. Этот сертификат использоваться не будет, мы добавим наш, сделать это можно кнопкой "Создать" сверху.


На первом шаге выберете тип сертификата "существующий".


На втором шаге вам необходимо будет ввести имя сертификата, сам сертификат, приватный ключ сертификата и подтверждающую цепочку. Откройте в "Блокноте" все имеющиеся у вас файлы: приватный ключ, который мы сохранили в файл ваш_домен.key, файл сертификата ваш_домен.crt и другие два. В форму ввода "SSL-сертификат" скопируйте содержимое файла ваш_домен.crt; в форму "Ключ SSL-сертификата" скопируйте текст из файла ваш_домен.key. В форму "Цепочка SSL-сертификатов" последовательно скопируйте содержимое файлов PositiveSSLCA2.crt и AddTrustExternalCARoot.crt, именно в этом порядке. Нажмите кнопку "Завершить" для сохранения введенных данных.


В открывшемся окне в поле "SSL-сертификат" выберете добавленный вами в предыдущем шаге сертификат и подтвердите изменения кнопкой "Ok".


5. Перейдите на ваш сайт, для работы по шифрованному соединению в адресной строке браузера впишите адрес наподобие "https://ваш_домен.ru/". Аббревиатура "https" означает работу по шифрованному протоколу HTTP, что нам и требуется. Если все сделано правильно, браузер не будет выдавать никаких предупреждений или сообщений о потенциальных угрозах, а сразу отобразит сайт. В адресной строке при этом тем или иным способом будет обозначен факт того, что передаваемые данные шифруются и сертификат подтвержден.


Настройка закончена. Следует, однако, иметь в виду, что при каких-либо изменениях в ПО веб-сервера (его переконфигурирование, смена IP-адреса домена, установка nginx перед Apache например) эта схема работы может нарушиться. В этом случае возможно придется внести соответствующие коррективы в конфигурационные файлы веб-сервера вручную.
Если у вас возникнут какие-либо вопросы при добавлении сертификата к вашему сайту - техническая поддержка всегда будет рада помочь вам, напишите пожалуйста письмо на адрес support@сайт с контактного e-mail вашего сервера.

Установка сертификата утилитами из консоли: CentOS, Apache 2

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

1. Поместите все 4 файла (приватный ключ, сохраненный в файле ваш_домен.key , и файлы сертификатов ваш_домен.crt , PositiveSSLCA2.crt и AddTrustExternalCARoot.crt


# cat /var/www/httpd-cert/PositiveSSLCA2.crt /var/www/httpd-cert/AddTrustExternalCARoot.crt > -bundle

# openssl verify /var/www/httpd-cert/ваш_домен.crt-bundle


5. В конфигурационном файле Apache 2 (наиболее вероятно - /etc/httpd/conf/httpd.conf) создайте новый VirtualHost на 443м порту. Ниже приведены только директивы, отвечающие за работу с сертификатом, остальные можно скопировать по аналогии из имеющегося для 80-го порта:

SSLEngine on
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
SSLCertificateFile /var/www/httpd-cert/ваш_домен.crt
SSLCertificateKeyFile /var/www/httpd-cert/ваш_домен.key
SSLCACertificateFile /var/www/httpd-cert/ваш_домен.crt-bundle
ServerName ваш_домен
...

6. Проверьте корректность синтаксиса конфигурационного файла:
# /etc/init.d/httpd configtest
Syntax OK
Перезапустите Apache и проверьте работу сайта с https://, если все сделано правильно - в адресной строке при этом тем или иным способом будет обозначен факт того, что передаваемые данные шифруются и сертификат подтвержден.

Установка сертификата утилитами из консоли: CentOS, nginx

1. Поместите все 4 файла (приватный ключ, сохраненный в файле ваш_домен.key, и файлы сертификатов ваш_домен.crt , PositiveSSLCA2.crt и AddTrustExternalCARoot.crt ) в директорию /var/www/httpd-cert/.

2. Установите владельца и группу всех файлов в root:
# chown root:root /var/www/httpd-cert/ваш_домен.key /var/www/httpd-cert/ваш_домен.crt /var/www/httpd-cert/PositiveSSLCA2.crt /var/www/httpd-cert/AddTrustExternalCARoot.crt

3. Установите права на файл ключа "только для владельца, только для чтения":
# chmod 400 /var/www/httpd-cert/ваш_домен.key

4. Создайте файл цепочки сертификатов:
# cat /var/www/httpd-cert/AddTrustExternalCARoot.crt >> /var/www/httpd-cert/ваш_домен.crt
# cat /var/www/httpd-cert/PositiveSSLCA2.crt >> /var/www/httpd-cert/ваш_домен.crt
Проверить подлинность цепочки сертификата можно так:
# openssl verify /var/www/httpd-cert/ваш_домен.crt
/var/www/httpd-cert/ваш_домен.bundle: OK
Посмотреть информацию об сертификате - например так:
# openssl x509 -text -in ваш_домен.crt

5. Внесите в конфигурационный файл nginx, в модуль server, следующие директивы:
server {

Ssl on;
ssl_certificate /var/www/httpd-cert/ваш_домен.crt;
ssl_certificate_key /var/www/httpd-cert/ваш_домен.key;

Server_name your.domain.com;
...
}
Обратите внимание, что это должен быть первый, и желательно единственный VirtualHost на этом IP-адресе на 443 порту.

6. Перезапустите nginx командой
# /etc/init.d/nginx restart
и проверьте работу сайта с https://, если все сделано правильно - в адресной строке при этом тем или иным способом будет обозначен факт того, что передаваемые данные шифруются и сертификат подтвержден.

Когда вы запускаете ваш собственный веб-сайт, ваши пользователи скорее всего должны будут оставлять там личную информацию. Это означает, что вам необходимо обеспечить соблюдение надежных стандартов безопасности, для обеспечения которой важную роль играют как Secure Sockets Layer (SSL или TLS) , так и Hypertext Transfer Protocol Secure (HTTPS) . К счастью, настройка на платформе WordPress SSL сертификата и установка HTTPS довольно проста и может быть выполнена всего за несколько шагов.

В этой статье мы поговорим о следующем:

  1. Какой сертификат SSL и когда нужно использовать.
  2. Что такое HTTPS и как он работает вместе с SSL.
  3. Как использовать WordPress SSL и настроить HTTPS с помощью двух разных методов.
  4. Две распространенные ошибки, с которыми вы можете столкнуться при использовании на WordPress SSL, и способы их устранения.

Нам предстоит узнать многое и будет ещё над чем поработать, так что, давайте уже приступим!

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

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

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

Что касается вашего собственного сайта, установка SSL сертификата является обязательной. Для этого есть :

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

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

Кроме того, Google объявил о том, что с момента появления в июле 2018 года Chrome показывает предупреждение “небезопасно”. Поэтому самое время обеспечить безопасность вашего сайта с помощью установки SSL сертификата, если вы ещё этого не сделали.

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

Для всех других типов сайтов бесплатный сертификат обычно выполняет всю работу. Более того, вы можете легко настроить его для работы с Hostinger (англ).

Что такое HTTPS (и как это работает вместе с SSL)

Когда вам нужна установка SSL сертификата для вашего сайта, вам также необходимо настроить его для передачи данных с использованием протокола HTTPS. Каждый посещаемый вами сайт использует HTTP или HTTPS в качестве префикса к URL-адресу, включая Hostinger:

HTTPS работает так же, как HTTP, но обеспечивает более высокие стандарты безопасности. Если вы загружаете веб-сайт с HTTPS, вы узнаёте, что ваши данные находятся в безопасности во время передачи. Однако для того, чтобы HTTPS работал, сайт, к которому вы пытаетесь получить доступ, нуждается в сертификате SSL.

Если вы попытаетесь получить доступ к сайту без SSL с помощью HTTPS, вы увидите ошибку, подобную этой:

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

Таким образом, ваш первый шаг должен состоять в том, чтобы получить сертификат SSL и настроить его для работы с вашим сайтом. После этого вам нужно указать в WordPress, что нужно использовать HTTPS вместо HTTP. Давайте посмотрим, как работает этот процесс.

Как настроить на WordPress SSL и HTTPS (2 метода)

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

1. Используйте панель инструментов WordPress и переадресацию 301

После установки WordPress SSL вам необходимо настроить свой сайт для использования HTTPS. Этот процесс прост, если вы запускаете новый веб-сайт. Однако, если вы добавляете SSL сертификат на сайт, который уже использовался какое-то время, это будет немного сложнее.

В любом случае, ваш первый шаг должен состоять в том, чтобы зайти в панель управления и открыть вкладку Настройки> Общие . Внутри вы найдете два поля, которые называются WordPress Address (URL) и Site Address (URL) . Адрес вашего сайта должен быть идентичным в обоих полях, и должен использовать HTTP.

Что вам нужно сделать, это заменить префикс HTTP на HTTPS в обоих полях и сохранить изменения в ваших настройках:

Это всё, что нужно, чтобы настроить WordPress на использование HTTPS. Однако, некоторые пользователи могли сохранить старый URL вашего веб-сайта, и он может оставаться в сети. Вы должны убедиться, что эти пользователи используют HTTPS-версию вашего сайта. Для этого вы можете настроить переадресацию URL.

Как только вы подключитесь к своему сайту через FTP, перейдите в папку public_html и найдите файл .htaccess внутри:

Выберите этот файл и щёлкните на него правой кнопкой мыши, затем выберите параметр Просмотр / редактирование . Это откроет файл с локальным текстовым редактором, позволяющим внести в него изменения. Не изменяйте какой-либо код внутри .htaccess , если вы не знаете, что делаете. Просто перейдите в нижнюю часть файла и вставьте следующий фрагмент:

Для этого вам нужно будет заменить URL-адрес в этом коде на полный HTTPS-адрес вашего сайта. Это перенаправит любое соединение, которое приходит через port 80 , на новый безопасный URL. Как вы знаете, port 80 является стандартным для HTTP-соединений, поэтому он “перехватит” практически всех, кто пытается получить доступ к вашему веб-сайту через старый адрес.

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

2. Установите плагин для WordPress SSL

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

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

Две распространённые ошибки в WordPress SSL (и как их исправить)

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

1. Некоторые файлы не загружаются через HTTPS

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

Если у вас возникла проблема с изображениями вашего сайта, CSS или JavaScript, самый простой способ решить её – сделать несколько дополнений к вашему файлу .htaccess . Однако этот подход применяется только в том случае, если вы использовали ручной метод из предыдущего раздела. Мы поговорим о том, что делать, если вы используете плагин вместо этого чуть позже.

Перейдите на свой веб-сайт через FTP ещё раз и найдите файл .htaccess в каталоге public_html . Откройте его и найдите ранее добавленный код, чтобы установить переадресацию 301. Это должно выглядеть следующим образом:

RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.yoursite.com/$1 }

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

RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]

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

Если вы настроили свой сайт для использования HTTPS через плагин, вам не нужно вручную настраивать файл .htaccess . Вместо этого большинство плагинов предложит альтернативное решение. Например, Really Simple SSL может находить на вашем сайте файлы, которые не загружаются через HTTPS, и помогать вам их исправить. Чтобы использовать эту функцию, перейдите во вкладку «Настройки»> «SSL» , а затем перейдите на страницу настроек плагина:

В верхней части экрана есть параметр Автозамена смешанного содержимого . Убедитесь, что он включён, а затем сохраните изменения в конфигурации плагина. Этот параметр гарантирует, что WordPress загрузит все объекты через HTTPS, а не только ваши посты и страницы.

2. Ваш плагин для кэширования WordPress вызывает проблемы

Если у вас установлен плагин для кеширования WordPress, ваш браузер может попытаться загрузить кешированную версию вашего веб-сайта по HTTP, что может привести к некоторым ошибкам. Самый быстрый способ решить эту проблему – очистить кеш в WordPress.

Как будет происходить процесс кэширования зависит от того, какой плагин вы используете. Тем не менее, это не займет у вас больше нескольких минут. Для получения более подробной информации вы можете ознакомиться с нашим в WP Super Cache (англ), W3 Total Cache (англ) и WP Fastest Cache (англ). Если вы используете другой плагин для кеширования, вам может потребоваться заглянуть в справку для получения инструкций о том, как действовать.

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

Вывод

Раньше WordPress SSL сертификаты были зарезервированы только для деловых веб-сайтов, которые сталкивались с большим количеством конфиденциальной информации. В наши дни сертификаты SSL и HTTPS стали обычным явлением. Фактически, сами поисковые системы, такие как Google, рекомендуют их использовать. К счастью, как вы видите, установка SSL сертификата и использование HTTPS для вашего сайта в WordPress – довольно простая задача.

У вас есть вопросы о том, как использовать WordPress SSL и настроить HTTPS? Давайте поговорим о них в разделе комментариев ниже!