Как установить ssl на конкретную страницу. становка на хостинг.masterhost. Включаем SSL в NGINX

Установка SSL сертификата

Для установки сертификата потребуется:

  • Файл сертификата и цепочка сертификата . Центр сертификации присылает эти данные на почтовый ящик владельца сертификата.
  • Ключ сертификата. Он у вас должен быть. Ключ генерируется перед заказом сертификата, на основе ключа генерируется csr запрос.
  • Root доступ к серверу.

Инструкция по установке SSL-сертификата на домен средствами панели ISPmanager

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

1. Зайдите в ISPmanager под пользователем, которому принадлежит домен. Войдя под root"ом это можно сделать так: ISPmanager - Пользователи - выделите пользователя - нажмите "Вход" (справа вверху кнопка с изображением лестницы и двери).

Примечание: не забудьте для пользователя включить SSL (ISPmanager - Пользователи - двойной клик по пользователю - вкладка "Права")

2. В разделе World Wide Web - "SSL-сертификаты" - справа вверху кнопка "Создать". Укажите "Тип сертификата" - существующий и заполните все поля:

Имя сертификата - имя сертификата, под которым он будет отображаться в системе. Может содержать буквы латинского алфавита, цифры, точки, а также знаки _ и -

Приватный ключ - укажите содержимое файла приватного ключа

Сертификат - укажите содержимое файла SSL-сертификата

Пароль - указывайте, если ключ сертификата зашифрован (обычно не требуется)

Цепочка сертификатов - Certificate bundle: цепочка сертификатов, которыми подписан данный сертификат. Подробнее о цепочках, в зависимости от типа сертификата, можно узнать в специальной статье .

3. После успешного добавления сертификата в разделе "WWW домены" можно его включить для сайта (двойной клик - установить галочку "SSL" - выбрать из списка нужный сертификат)

4. Детальная проверка установленного сертификата доступна по ссылкам:

Ручная установка SSL сертификата

Веб-сервер Apache

Если ssl запросы обрабатывает Apache, то сертификат устанавливается в файле конфигурации Apache. Проверить какой веб сервис отвечает на 443 (ssl) порту можно командой:

  • Linux:
# netstat -napt | grep 443 tcp 0 0 188.120.233.16:443 0.0.0.0:* LISTEN 731/apache2
  • FreeBSD:
# sockstat |grep 443 root httpd 83299 19 tcp4 188.120.225.20:443 *:*

Для установки сертификата откройте конфигурационный файл Apache. На FreeBSD это /usr/local/etc/apache22/httpd.conf. Debian - /etc/apache2/apache2.conf. Centos - /etc/httpd/conf/httpd.conf. Найдите VirtualHost вашего домена.

Иногда вы можете найти блоки в отдельных файлах, в директории веб сервера.

Создайте блок для подключения SSL соединения. Пример:

DocumentRoot /var/www/user/data/www/domain.com ServerName domain.com SSLEngine on SSLCertificateFile /path/to/domain.crt SSLCertificateKeyFile /path/to/domain.key SSLCACertificateFile /path/to/ca.crt

  • /var/www/user/data/www/domain.com - путь до домашней директории вашего домена.
  • /path/to/ca.crt - файл корневого сертификата.

Перезапустите Apache командой apachectl restart или apache2ctl restart

Веб-сервер Nginx

Если ssl запросы обрабатывает Nginx, то сертификат устанавливается в файле конфигурации Nginx.

Откройте конфигурационный файл Nginx. На Linux - /etc/nginx/nginx.conf

Создайте серверный модуль для SSL соединения. Пример:

Server { listen 10.0.0.1:443; server_name domain.com; ssl on; ssl_certificate /path/to/domain.crt; ssl_certificate_key /path/to/domain.key ; }

  • domain.com - имя вашего домена.
  • 10.0.0.1 - ip адрес, на котором находится домен.
  • /path/to/domain.crt - файл, в котором находится сертификат.
  • /path/to/domain.key - файл, в котором находится ключ сертификата.

Цепочка сертификатов дописывается в файл с сертификатом.

Возьмем пример с Comodo Positive SSL. Центр сертификации присылает файлы domain.crt, PositiveSSLCA2 и AddTrustExternalCARoot. Цепочкой сертификата будет содержание файла PositiveSSLCA2 + AddTrustExternalCARoot. В итоге файл domain.crt должен содержать сертификат домена + сертификаты PositiveSSLCA2 + AddTrustExternalCARoot.

Перезапустите Nginx

  • Linux:
/etc/init.d/nginx restart

Несколько SSL сертификатов на одном ip адресе

Если используется несколько сертификатов на одном ip адресе, то браузер получит сертификат сервера по умолчанию, независимо от запрашиваемого имени сервера. Это связано с поведением протокола SSL. SSL-соединение устанавливается до того, как браузер посылает HTTP-запрос, и веб сервер не знает имени запрашиваемого сервера. Следовательно, он лишь может предложить сертификат сервера по умолчанию.

Решение для работы нескольких HTTPS-серверов на одном IP-адресе - расширение Server Name Indication протокола TLS (SNI, RFC 6066), которое позволяет браузеру передать запрашиваемое имя сервера во время SSL handshake, а значит сервер будет знать, какой сертификат ему следует использовать для соединения. Почти все современные браузеры поддерживают SNI, однако чтобы использовать SNI, соответствующая поддержка должна присутствовать также в библиотеке OpenSSL. OpenSSL поддерживает SNI начиная с версии 0.9.8f.

Полезные команды Openssl

  • Создание ключа для SSL-сертификата.
openssl req -batch -noout -new -newkey rsa:2048 -nodes -keyout cert.key
  • Генерация CSR-запроса:
openssl req -new -key cert.key -out cert.csr
  • Убрать пароль с ключа:
openssl rsa -in cert.key -out cert.key
  • Посмотреть данные CSR:
openssl req -noout -text -in cert.csr
  • Данные сертификата (проверить кем выдан, например):
openssl x509 -noout -text -in cert.crt
  • Проверить, что ключ соответствует сертификату:
openssl x509 -noout -modulus -in cert.crt | openssl md5 openssl rsa -noout -modulus -in cert.key | openssl md5

Два значения должны совпадать.

  • Узнать длину запроса:
echo "(" `openssl req -noout -modulus -in cert.csr | cut -d"=" -f2 | wc -c` "-1)*4" | bc
  • Проверить выдачу HTTPS:
openssl s_client -host ulanovka.ru -port 443

Создание CSR запроса для Microsoft IIS

  • Нажмите на имя сервера.
  • Затем справа из меню Actions выберите Create Certificate Request. Откроется окно мастера создания запроса.

  • Введите всю необходимую информацию.

Нажмите Next.

  • Введите имя вашего CSR файла.

  • Откройте файл, используя текстовый редактор. Для оформления сертификата передайте свой CSR вместе с тэгами BEGIN и END.

Установка SSL сертификата на Microsoft IIS

  • Нажмите Start - Administrative Tools - Internet Information Services (IIS) Manager.
  • Нажмите на имя сервера.
  • В разделе IIS откройте Server Certificates.
  • Затем справа из меню Actions выберите Complete Certificate Request. Откроется окно мастера.

  • Загрузите выданный Вам центром сертификации сертификат. Затем введите имя сертификата (оно необходимо только администратору для дальнейшей работы).

  • Нажмите Оk, и сертификат будет установлен на сервер.
  • Для того, чтобы установить данный сертификат на нужный веб-домен, перейдите в раздел Sites и выберите сайт, для которого заказан сертификат. Из меню Actions в правой части страницы нажмите на Bindings. Откроется окно Site Bindings.

  • В окне Site Bindings нажмите Add... Откроется окно Add Site Binding.

  • В меню Type выберите https. В меню IP address должен быть IP адрес сайта или All Unassigned. Порт - 443. В поле SSL Certificate выберите Ваш сертификат.

Нажмите Ok.

  • Ваш сертификат установлен.

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

Доброго времени суток, дамы и господа!

Сегодня я расскажу вам о том, как установить SSL-сертификат на свой сайт. И объясню, почему использование защищенного соединения должно стать приоритетом в 2018 году, почему веб-ресурсы без ССЛ рискуют потерять львиную долю своего трафика.

Я уже описывал что такое SSL в одном из материалов на iklife. Если говорить кратко, то ССЛ позволит вам использовать защищенный протокол шифрования данных на вашем сайте. Данные, передаваемые от сайта к клиенту (посетителю) будут надежно зашифрованы. Никакие злодеи не смогут получить к ним доступ, как бы они не пытались.

Реализация такого подхода возможна благодаря математически связанным ключам шифрования. От сервера (веб-ресурса) к клиенту (компьютеру посетителя) информация передается с помощью трех ключей шифрования. Два из них – закрытые. Они есть и у сервера, и у клиента. Третий ключ – открытый, он используется обеими машинами.

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

Безопасность и конфиденциальность – две вещи, к которым стремится интернет-сообщество. Именно по этой причине к сайтам, не использующим защищенное соединение, доверие неуклонно падает.

Даже браузеры, такие как Google Chrome, Opera или Mozilla Firefox, стали помечать сайты без https как нежелательные. Пока что просто обходятся предупреждением, однако в будущем на такие сайты, возможно, будут вешаться заглушки от браузера, где пользователь должен подтвердить, что он осознает весь риск и берет на себя ответственность в случае потери данных.

Наличие или отсутствие защищенного соединения может учитываться и поисковыми системами. Если Яндекс пока что говорит о том, что сайты с http и https индексируются равнозначно, то в Гугле уже прослеживаются некоторые изменения. В скором времени сайты могут помечаться как небезопасные и начать очень сильно проседать по позициям.

По этим причинам можно сделать вывод, что установка зашифрованного соединения не просто желательна, а необходима. Все без исключения пользователи хотят, чтобы их данные были в целости и сохранности. Так зачем же лишать их этих благ, тем более, что сделать все это можно абсолютно бесплатно, с помощью того же Let`s Encrypt.

Где взять SSL-сертификат?

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

Сейчас популярен вариант от Let`s Encrypt. Они распространяются бесплатно, и многие хостеры поддерживают возможность быстрой установки и подключения.

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

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

Приведу вам список самых популярных сервисов, где вы сможете купить SSL:

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

Установка SSL на хостинг

В этой части обзора мы будем рассматривать установку SSL на хостинге Beget и REG.RU. Если у вас другой хостинг-провайдер, не отчаивайтесь. Скорее всего инструкции из этого материала будут применимы и на вашем хост-сервере. Большая часть панелей управления, которые используют хостинги, схожи между собой.

SSL на хостинге REG.RU

Чтобы установить ССЛ через форму на сайте, вам нужно перейти на сам сайт и залогиниться. Далее ваш путь лежит на страницу подключения SSL . После регистрации/авторизации вы увидите такое окно.

Если вы покупали SSL прямо в REG.RU, то вам необходимо выбрать нужный сертификат в выпадающем списке. После того, как отметили нужный, вы должны загрузить файл с приватным ключом. Он обычно выдается той компанией, которая сертифицировала вас. При настройке защищенного протокола вам предложат как раз сохранить такой ключ.

В случае с Let`s Encrypt или продажи другим сервисом, приватный ключ высылается на указанный e-mail. При утере ключа придется заниматься переизданием, что обещает большое количество проблем.

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

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

Обратите внимание, что нужный домен должен быть добавлен в панель управления вашего хостинга. Сразу после отправления заявки, в случае, если вы используете виртуальный хостинг – ССЛ будет установлен автоматически. Если же речь идет о выделенном сервере, то придется подождать, пока специалисты из REG.RU настроят и установят все в ручном режиме.

SSL на хостинге Beget

Для установки защищенного протокола на хостинге Beget перейдите в раздел “Домены и поддомены”, после чего нажмите на кнопку “Управление SSL-сертификатами”. Она будет напротив нужного домена.

Во всплывающем окошке вы можете выбрать параметры установки для домена.

Здесь для установки доступен Let`s Encrypt. Данный центр сертификации предоставляет свои услуги абсолютно бесплатно. Вы можете воспользоваться им или любым другим. Для доступа к настройке сертификата нужно использовать две соседние вкладки.

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

Проблемы могут возникнуть в том случае, если домен размещен на сторонних (не бегетовских) NS-серверах. Тогда вам вручную придется создавать A-запись в DNS вашего домена.

Установка SSL в ISPmanager

Чтобы установить ССЛ в ISPmanager 4, вам нужно перейти в панель управления и в соответствующий раздел. Он имеет название SSL-сертификаты.

В правом углу найдите кнопку “Создать”, после чего перед вашими глазами появится такое окно.

Нужно ввести все необходимые данные вручную. Поле “Имя сертификата” задается произвольно. Все остальное нужно предоставить по требованию. Выбираем “существующий” тип, и далее “указать вручную” в поле “Использовать ключ”.

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

Если при установке возникают ошибки, проверьте еще раз все введенные данные на наличие лишних пробелов и символов.

Как только SSL будет установлен, мы должны перейти в раздел “WWW домен” и поставить там вот такую галочку.

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

В ISPmanager 5 этот процесс мало чем отличается, тем не менее, я считаю необходимым описать и его.

Перейдите в одноименный раздел, который находится в “WWW”. Я думаю, вы сразу заметите его.

Сервис предложит вам выбрать тип сертификата – выбираем “Существующий”.

Нам необходимо будет заполнить все поля (имя, ключи и сам сертификат). Их выдает компания, у которой был куплен сертификат.

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


Отмечаем галочками “Защищенное соединение” и “Повышенная безопасность”, выбираем нужный SSL-сертификат в выпадающем списке.

Готово! Теперь ваш сайт будет использовать защищенное соединение.

Установка SSL на Cpanel

Для подключения SSL на хостинге Cpanel нужно перейти в соответствующий раздел на вашей панели управления. Он находится во вкладке “Безопасность”.

Теперь нужно кликнуть по кнопке “Управление сайтами с SSL”.

Выбираем нужный домен.

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

Вводим данные сертификата (после BEGIN CERTIFICATE). Заканчивается на END CERTIFICATE. Далее вставляем закрытый ключ и цепочку сертификатов.

Закрытый ключ начинается со слов “BEGIN RSA PRIVATE KEY”.

Здесь вставляется сначала промежуточный, а затем корневой сертификат. Конец первого и начало второго должны располагаться так, как показано на скриншоте.

Теперь нам остается завершить установку. Для этого мы нажимаем соответствующую кнопку.

Редирект с http на https

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

Обычно это делается с помощью инструментов CMS или файла htaccess. В WordPress, например, можно настроить автоматические редиректы с незащищенного протокола на защищенный. Но здесь же отмечу, что далеко не все системы управления контентом могут поддерживать такую функцию. По этой причине редирект можно реализовать с помощью файла htaccess, который есть почти на любом сайте.

Просто добавляем в начало файла этот кусок кода и вуаля – ваш сайт имеет 301-й редирект с http на https.

RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI}

Теперь мы можем проверить наличие переадресации, просто зайдя на сайт без прописывания протокола (или с http протоколом). Если мы все сделали правильно, то нас перекинет на https://сайт.ру.

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

Например, добавить в файл robots.txt строчку Host с указанием главного зеркала вашего веб-ресурса. Там же нужно прописать и https-протокол, чтобы поисковые системы считали этот вариант приоритетным.

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

Заключение

В этой статье я подробно рассказал о том, как установить SSL на свой сайт. Благодаря встроенным инструментам в виртуальных хостингах, вы можете легко и без особых проблем реализовать https-соединение для своего проекта. В том же Бегете или REG.RU сделать все достаточно просто. А если учесть тот факт, что сейчас существует возможность установки бесплатной версии, это необходимо сделать как можно скорее.

Кстати говоря, не забудьте сделать проверку SSL-сертификата на сайте. Если все сделано правильно, то вас всегда будет редиректить на https-соединение.

Хотите создать свой собственный блог и зарабатывать на нем? Тогда я приглашаю вас на . В нем вы получите все необходимые знания для создания своего сайта на WordPress и примените их в области поискового продвижения и оптимизации своего проекта.

Расскажите, получилось ли установить SSL-сертификат для вашего веб-ресурса?

Если в данный момент ваш сайт работает по небезопасному протоколу HTTP, то, скорее всего, вы уже задумались о переходе на HTTPS-протокол. Что такое HTTPS? Если кратко, то это специальное расширение протокола HTTP, которое обеспечивает безопасность передаваемых данных путем их шифрования. В первую очередь это необходимо для всех ресурсов, которые имеют дело с данными своих пользователей - интернет-магазинов, бирж и других веб-сайтов. Однако в последнее время все больше пользователей стремятся установить SSL-сертификат на свой сайт - даже если это персональный блог или рекламный лендинг. Дело в том, что работа по HTTPS-протоколу влияет на множество различных факторов, в том числе на позицию вашего ресурса в поисковой выдаче и доверие пользователей к вашему сайту в целом. В будущем различия между двумя вариантами протокола передачи данных станут еще более заметными. К примеру, корпорация Google уже объявила, что если на сайте можно ввести персональные данные (пароль или номер банковской карты), но при этом он работает по HTTP-протоколу, то с начала 2017 года он будет отмечаться в браузере Google Chrome как небезопасный. И уже сейчас известно, что сайты с установленным SSL-сертификатом воспринимаются поисковыми системами как более доверительные, поэтому в выдаче они занимают более высокие места, чем сайты без сертификатов.

В этой статье мы расскажем о том, как на хостинге Timeweb можно установить один из SSL-сертификатов на свой сайт.

Выбор сертификата

Для начала вам необходимо определиться, какой сертификат вы будете использовать на своем сайте. Главные критерии, от которых следует отталкиваться при выборе сертификата, - это цели его установки и располагаемый бюджет. На хостинге Timeweb представлено несколько возможных вариантов сертификатов; более подробно о них вы можете прочитать в статье « ». Что касается самой установки, то принципиальной разницы между ними нет: Comodo Positive SSL требует чуть больше информации о пользователе, в то время как при заказе Let’s Encrypt вам необходимо только выбрать сайт, на который будет установлен сертификат.

Т.к. Let’s Encrypt является бесплатным, то и время для его установки совсем небольшое - обычно оно составляет порядка 10-15 минут. Для установки Comodo Positive SSL понадобится подождать около 1-2 часов.

В данной статье в качестве примера будет рассказано о том, как установить на свой сайт сертификат Let’s Encrypt.

Заказ и установка сертификата

1. Для того, чтобы заказать сертификат, войдите в панель управления своим аккаунтом Timeweb и выберите раздел «Дополнительные услуги», а затем нажмите на кнопку «SSL-сертификат»:

2. В появившемся окне выберите желаемый сертификат (в нашем случае Let’s Encrypt), домен, для которого вы заказываете данный сертификат, и подтвердите то, что вы согласны с правилами предоставления данной услуги.

(Если вы выбрали один из сертификатов Comodo Positive SSL, то вы должны заполнить все поля анкеты.)

Если все выполнено корректно, вы увидите следующее уведомление:

3. Через некоторое время вам придет письмо с уведомлением о том, что SSL-сертификат был выпущен и установлен:

Подключенный SSL-сертификат вы также увидите в разделе «Дополнительные услуги».

Редактирование.htaccess

Для того, чтобы ваш сайт выглядел так же, как обычно (до перехода на HTTPS), а также использовал правильный код перенаправления, вам необходимо внести изменения в файл.htaccess. В этом файле обычно задаются дополнительные настройки сайта для веб-сервера Apache. Как правило, .htaccess находится в корневой папке сайта. Допустим, если у вас на сайте установлена система управления контентом WordPress, то вы найдете данный файл в папке public_html.

Зайдите в раздел «Файловый менеджер» и откройте.htaccess. В начале текстового файла вам нужно добавить следующие строки:

SetEnvIf X-HTTPS 1 HTTPS RewriteEngine On RewriteBase / RewriteCond %{HTTP:X-HTTPS} !1 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1

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

Затем сохраните изменения.

Благодаря этой правке весь запрашиваемый контент будет передаваться по HTTPS корректно. Это изменение актуально для популярных CMS на хостинге Timeweb.

Ваш сайт должен выглядеть так же, как и до перехода на HTTPS.

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

Обращаем ваше внимание на то, что сайт будет отображаться по HTTPS только по IPv4 адресу. Для того, чтобы сайт продолжал быть доступным для ресурсов, которые осуществляют запросы приоритетно на IPv6 (например, Яндекс, Google, социальные сети), рекомендуется удалить АААА-запись для домена в разделе « Домены и поддомены» в панели управления аккаунтом.

Редактирование wp-config.php

Эта часть пригодится тем, кто использует на своем сайте именно WordPress. Файл wp-config.php находится в той же корневой папке, что и файл.htaccess, который вы редактировали ранее.

Define("FORCE_SSL_ADMIN", true); define("FORCE_SSL_LOGIN", true);

Как удалить сертификат?

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