Как установить SSL сертификат: пошаговая инструкция. Что такое SSL-сертификат. Изменение файла.htaccess вручную

Когда вы запускаете ваш собственный веб-сайт, ваши пользователи скорее всего должны будут оставлять там личную информацию. Это означает, что вам необходимо обеспечить соблюдение надежных стандартов безопасности, для обеспечения которой важную роль играют как 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? Давайте поговорим о них в разделе комментариев ниже!

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

становка на хостинг .masterhost

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

  • SNI (бесплатно) :
    Древо услуг - Домен - Поддержка SSL - Добавить.
  • Выделенный IP (140 рублей в месяц. Обычно требуется для работы с некоторыми платежными системами) :
    Древо услуг - Домен - Выделенный IP\SSL - Добавить. В выпадающем меню выбираете сертификат.

* Для обновления сертификата, например, после его продления, выполняете аналогичные действия: Древо услуг - Домен - Поддержка SSL или Выделенный IP\SSL (в зависимости от способа установки) - Изменить.

енерация (объединение) сертификата для Windows ПО

Для установки полученного сертификата на любое ПО в Windows требуется, чтобы файл сертификата содержал как сам сертификат, так и закрытый ключ. Т.е. Вам нужно будет объединить полученный у нас сертификат с Вашим файлом закрытого ключа.

Сделать это можно так:

openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt

certificate.pfx - имя сертификата, который Вы получите в результате объединения;

privateKey.key - закрытый ключ;

certificate.crt - сам сертификат, который мы Вам выдали.

pache

  • Скопируйте файлы SSL сертификата на Ваш сервер.
  • Затем нужно найти файл конфигурации Apache для редактирования.

    Чаще всего подобные файлы конфигурации хранятся в /etc/httpd. в большинстве случаев основной файл конфигурации называется httpd.conf. Но в некоторых случаях блоки могут находиться в нижней части файла httpd.conf. Иногда Вы можете найти такие блоки как отдельно под директорией, к примеру, /etc/httpd/vhosts.d/ или /etc/httpd/sites/, или в файле, который называется ssl.conf.

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

  • Далее установите блоки SSL для задания конфигурации.

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

  • Затем создайте блоки для подключения SSL-соединения.

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

    DocumentRoot /var/www/html2 ServerName www.yourdomain.com SSLEngine on SSLCertificateFile /path/to/your_domain_name.crt SSLCertificateKeyFile /path/to/your_private.key SSLCertificateChainFile /path/to/root.crt Исправте имена файлов для согласования с файлами сертификатов:
    • SSLCertificateFile - файл Вашего сертификата (например: your_domain_name.crt).
    • SSLCertificateKeyFile - файл ключа, созданного при генерации CSR.
    • SSLCertificateChainFile - файл корневого сертификата.
  • Теперь проверьте конфигурацию Apache до перезапуска. Всегда лучше проверить файлы конфигурации Apache на ошибки до перезапуска. Так как Apache не запустится заново, если в файлах конфигурации будут фигурировать синтаксические ошибки. Для этого используйте следующую команду: apachectl configtest
  • А теперь можно перезапустить Apache.

ginx

  • Скопируйте файлы сертификата на сервер.

    Скопируйте Ваш сертификат (your_domain_name.crt) и корневой сертификат (root.crt) вместе с.key-файлом который Вы генерировали при создании CSR-запроса в директорию на Вашем сервере, куда Вы собираетесь установить сертификат. Для обеспечения безопасности, сохраняйте файлы с пометкой "только чтение".

  • Соедените сертификат с корневым сертификатом.

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

    cat root.crt >> your_domain_name.crt
  • Измените файл виртуального хоста Nginx.

    Откройте Ваш файл виртуального хоста Nginx для сайта, который Вы защищаете. Если Вам необходимо, чтобы сайт работал и с защищенным соединением (https), и с незащищенным (http), Вам нужен серверный модуль для каждого типа соединения. Сделайте копию существующего серверного модуля для незащищенного соединения и вставьте ниже оригинала. После этого добавьте строчки, которые приведены ниже жирным шрифтом:

    server { listen 443; ssl on; ssl_certificate /etc/ssl/your_domain_name.crt; (or .pem) ssl_certificate_key /etc/ssl/your_domain_name.key; server_name your.domain.com; access_log /var/log/nginx/nginx.vhost.access.log; error_log /var/log/nginx/nginx.vhost.error.log; location / { root /home/www/public_html/your.domain.com/public/; index index.html; } } Настройка имен файлов:
    • ssl_certificate - файл, содержащий основной и корневой сертификаты (шаг 2).
    • ssl_certificate_key - файл с ключем, который был сгенерирован при создании CSR.
  • Перезагрузите Nginx.

    Введите следующую команду для перезагрузки Nginx:

    sudo /etc/init.d/nginx restart

xchange 2010

  • Скопировать Ваш сертификат на Exchange сервер.
  • Затем запустить консоль управления Exchange данным образом: Start > Programs > Microsoft Exchange 2010 > Exchange Management Console.
  • Теперь нажмите "Manage Databases" и далее "Server configuration".
  • Далее выберите Ваш SSL сертификат из меню в центре окна, затем нажмите на "Complete Pending Request" в меню "Actions".
  • Откройте файл Вашего сертификата, после нажмите Open > Complete

    Exchange 2010 довольно часто выдает сообщение об ошибке, которая начинается фразой "The source data is corrupted or not properly Base64 encoded." Игнорируйте данную ошибку.

  • Далее вернитесь к консоли управления Exchange и нажмите "Assign Services to Certificate", чтобы начать использовать сертификат.
  • Из списка выберите Ваш сервер, нажмите "Next".
  • Теперь выберите сервисы, которые должны быть защищены сертификатом и нажмите Next > Assign > Finish. Теперь Ваш сертификат установлен и готов к использованию на Exchange.

Всем привет.

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

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

А в этой статье я на личном примере расскажу, как установить SSL сертификат на свой сайт и при этом не потерять трафик с поисковиков. Я трафик потерял временно, а вы не потеряете, если прочитаете всё от начала до конца

Зачем я перешёл на защищенный протокол

Это всё современные тенденции в сфере сайтов и блогов в интернете. Совсем скоро практически все web-сайты перейдут на этот протокол.

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

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

Итак. Зачем всем web-ресурсам в интернете необходим сертификат SSL, мы определились.

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

Сертификаты бывают всякие разные.

В первую очередь их можно разделить на два вида:

  1. Самоподписанные
  2. Выданные центрами сертификации

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

Cамоподписанный сертификат — это тоже самое, что документ, например, паспорт, который вы нарисовали сами.

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

  • количество (один или много)
  • поддержка национальных доменов, например, кириллических
  • распространение защиты на поддомены
  • уровень проверки и соответственно доверия

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

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

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

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

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

Кстати если хотите подробнее узнать про SSL сертификаты, то можете скачать небольшую брошюру в лаборатории бизнес кейсов. Вот ссылка .

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

Как подключить ssl сертификат

Расскажу на своём примере.

Лично мне пришла идея приобрести SSL довольно спонтанно. Не люблю я торопиться, да и вообще я любитель откладывать дела потом — есть такой недостаток.

А подтолкнуло меня к этому предложение от регистратора доменных имён RegRu , которым я активно пользуюсь.

Суть предложения: если ваш домен находится на РегРу, то вы можете подключить SSL сертификат на год бесплатно от компании GlobalSign. Бесплатно предоставляется DomainSSL — начальный уровень доверия. Его стоимость 8850 рублей в год, но для клиентов РегРу 3000 рублей в год, а первый год вообще бесплатно.

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

Кстати совсем недавно нашел еще одну компанию, занимающуюся реализацией SSL сертификатов — sslcertificate.ru . Можете ознакомиться и с их предложениями.

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

В поддержке регистратора есть также инструкции по установке SSL сертификата на сайт.

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

Что вообще нужно сделать:

  1. Приобрести сертификат
  2. Установить его на сайт
  3. Заменить все ссылки внутри сайта на https
  4. В панели вебмастеров яндекса и гугл добавить новый сайт с https
  5. Указать главное зеркало
  6. Сделать переадресацию с http на https.

По сути это всё. Но здесь кроется несколько подводных камней.

Подводные камни

Третий пункт — замена всех ссылок

Пятый пункт — указать главное зеркало

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

Если не совсем понятно, то посмотрите как это сделано .

А также в вебмастере яндекса есть специальный инструмент «переезд сайта» в разделе «настройки индексирования». Там необходимо поставить галочку напротив https. Склейка зеркал произойдет в течение пары недель.

Когда переезд завершится, вы увидите примерно вот такую картину:

На скриншоте можно заметить, что ТИЦ сейчас 0, а был 20. Это временное явление — всё вернется, надо только подождать

А с гугл по моему проблем вообще не возникает

Шестой пункт — переадресация

Это самый коварный и в то же время простой пункт.

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

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

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

Вообще жуткий график!

Кстати а как выполнить эту самую переадресацию, о которой говорится в шестом пункте. Лично я это сделал поставив всего одну галочку в панели управления своим хостингом. Если на вашем хостинге нет такой функции, то вам придется прописать эту переадресацию в файле.htaccess — google или яндекс вам в помощь.

Ну вот и всё! Теперь вы знаете, с какими сложностями я столкнулся при установке SSL сертификата на свой блог, какие допустил ошибки. Очень надеюсь, что вам очень пригодится мой опыт.

На обновления моего блога — тогда будете получать уведомления о новых статьях на свою электронную почту.

Жду ваших комментариев!

Всем пока и до скорых встреч!

С уважением! Абдуллин Руслан

Итак, вы приобрели 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://, если все сделано правильно - в адресной строке при этом тем или иным способом будет обозначен факт того, что передаваемые данные шифруются и сертификат подтвержден.

Здравствуйте, уважаемые коллеги, гости сайт. Как вы наверное уже слышали, с начала 2017 года поисковая система Google начнет занижать в поисковой выдаче сайты, не имеющие ssl сертификата. Грозятся такие проекты помечать черной меткой слева от URL и тем самым распугивать посетителей. Думаю, Яндекс тоже скоро подтянется. Давайте разбираться, что такое SSL сертификат, какие бывают его разновидности и как установить его на сайт.

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 у упомянутого партнера.

4. Установка SSL-сертификата на сайт хостинга TimeWeb

Установку будем производить на примере бесплатного сертификата Lets Encrypt на хостинге , поскольку TimeWeb самый популярный хостинг в РФ и он лучше всех остальных подготовился к нововведениям.

Владельцы сайтов, припаркованных на других хостингах, выясните у своей технической поддержки, как установить у них SSL-сертификат.

Заказ SSL-сертификата на хостинге

Зайдите в панель управления хостинга.

  1. Перейдите в раздел "Дополнительные услуги ".

  1. Далее по ссылке "SSL-сертификаты ".
  1. В новом окне в поле "Сертификат " выберите требуемый.
  1. В поле "Домен " выберите свой, для которого заказывается сертификат.

Согласитесь с правилами предоставления услуг и нажмите на кнопку "Заказать ".

Нажмите на кнопку "OK " в новом окошке с сообщением об отправке заказа на SSL-сертификат.

На странице "Дополнительных услуг " очень скоро появится информация о подключении выбранного сертификата на домен.

Настройка переадресации

Чтобы при обращении к сайту по старому адресу с http происходила автоматическая переадресация на https , выполните следующие несложные действия:

  1. На главной странице панели управления timeweb перейдите в раздел "Сайты ".

  1. Кликните по шестеренке у своего домена чтобы перейти к настройке переадресации.
  2. В новом окне активируйте опцию "использовать безопасное соединение https// " и не забудьте сохранить изменения.

Веб-мастерам сайтов не на TimeWeb следует поинтересоваться у технической поддержки своего хостинга о том, как сделать переадресацию с http на https (какой код прописать в файл .htaccess ). Хотя и в Интернете этой инфы предостаточно, но не всякий код подойдет именно под ваш хостинг.

5. Разблокировка контента

После установки сертификата и перехода на протокол с шифрованием передачи данных, ваш сайт неприглядно изменится. Это браузер посчитает, что некоторый контент небезопасен (много где еще останутся скрипты, ссылки со старым протоколом) и заблокирует его. Кроме того, вход в админку вызовет некоторые затруднения по той же причине. Не пугайтесь, эту проблему решить очень просто.

1. В файл .htaccess , или через файловый менеджер панели администратора на хостинге, самой последней строкой вставьте код – "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 в этой работе нам в помощь есть один хороший инструмент.

  1. Чтобы его вызвать, на проблемной странице кликните по кружочку с буквой "i " в адресной строке в начале URL страницы.

  1. В открывшемся окошке перейдите по ссылке "Подробнее ".
  2. В появившейся нижней панели перейдите на вкладку "Console ".

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

Внутренние ссылки, в том числе и на картинки, на каждой странице тоже придется исправить. Для ручной работы, чтобы поставить этот процесс на конвейер, открывайте каждую страницу в режиме текст (по старому html), в поиске браузера (вызывается нажатием клавиш ctrl+F ) впишите свой домен, запустите поиск. После подсветки доменов напрягать глаза для поиска внутренних ссылок уже не придется. После каждого http вставьте букву "s ", сохраните изменения и проверьте результат.

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

9. Уведомление поисковиков о новом сайте

Как вы, конечно, понимаете, для поисковых систем http://домен.ru и https ://домен.ru - два разных сайта. После перехода на защищенный протокол ваш старый сайт должен прекратить существование и возродиться с новым адресом. Надо уведомить об этом Яндекс и Google. Сделаем это без шума и пыли.

Зайдите в Яндекс Веб-мастер и следуйте следующей инструкции:

  1. Перейдите в раздел "Настройка индексирования " и далее "Переезд сайта ".

  1. Выберите свой домен, поставьте галочку у "Добавить HTTPS " и сохраните изменения.
  2. Откройте главную страницу "Яндекс Веб-мастер " и перейдите там по ссылке "добавить сайт ".

Старый можно будет удалить.

  1. Загрузите карту сайта в формате xml перейдя в "Настройка индексирования "→"Файлы Sitemap ", для чего укажите путь к карте сайта и нажмите на кнопку "Добавить ".

  1. Последнее, что тут осталось сделать, это убедиться, что все работает, нет ни фатальных, ни критических ошибок, ни каких-либо других проблем. Для этого перейдите в раздел "Диагностика "→"Диагностика сайта ".

Не расслабляйтесь, робот еще не до конца выполнил всю свою работу. Вполне может оказаться что он не сможет загрузить что-нибудь..txt всплывало сообщение: "Сервер отвечает редиректом на запрос /robots.txt".

Пришлось тогда временно отключить на сервере редирект с http на https для загрузки robots.txt. А то уже в индекс стало попадать множество дублей. После включения редиректа обратно, ошибка больше не появлялась.

Что касается Гугла, то там, как ни странно, не все так продумано. Вам придется в кабинете веб-мастера по новой добавить новый старый сайт с https .

Главное, как и в Яндексе, обязательно загрузите карту сайта для более быстрой индексации контента ресурса.

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

Обновлено: Апрель 22, 2017 автором: Роман Ваховский



Просмотров