Как установить доверенный SSL–сертификат в NGINX и Apache
В этой статье мы расскажем, как установить заказанный ранее у Infobox доверенный SSL–сертификат в веб-серверы NGINX и Apache на облачный сервер или на VPS. Процесс установки SSL–сертификатов на Хостинг сайтов описан в справочном центре.

Найдена возможность взлома SHA1, неужели можно использовать промежуточный сертификат с SHA1 Root?
Можно. Сигнатуры на root сертификатах не используются и браузеры не будут предупреждать о небезопасности таких соединений. Это относится только к промежуточному сертификату, ваш сертификат должен использовать SHA2.
Это можно сделать например через Filezilla (установка клиента рассмотрена также в статье). Однако способ подключения будет отличаться, так как нужен доступ не только к папке сайта, но и ко всему серверу.
Добавьте новое SFTP подключение, как показано на скриншоте ниже. Используйте логин и пароль от сервера, которые пришли на вашу электронную почту после создания сервера, а также внешний ip–адрес сервера.

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

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

Перейдите в папку "/etc/ssl" и скопируйте туда файлы private.key, domain.crt, intermediate.crt.
Подключитесь к серверу по SSH.
В шаблоне LAMP настраивать HTTPS нужно на реверс-прокси NGINX.
Объедините промежуточный сертификат с вашим сертификатом:
Теперь установите права для доступа к private.key:
Отредактируйте файл конфигурации nginx:
Внесите изменения, как показано на скриншоте ниже (вместо plugndo.com используйте ваш домен):

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

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

Подключитесь к серверу по SSH.
Разрешите Apache загружать SSL–модуль:
Отредактируйте файл конфигурации Apache:
Внесите изменения, как показано на скриншоте ниже (вместо plugndo.com используйте ваш домен, a вместо feedback@plugndo.com – адрес электронной почты администратора):

Теперь перезапустите Apache:
Соединение по HTTPS успешно устанавливается. Браузер отображает предупреждение, так как картинка на странице доступна по http (с такой же проблемой вы можете встретиться на своем сайте — ресурсы должны загружаться по HTTPS).

Давайте в коде страницы исправим адрес на HTTPS:

Теперь соединение отмечается как безопасное.

Если вам необходимы инструкции по установке SSL–сертификатов на другие веб-сервера — вы можете найти нужную инструкцию тут. И конечно сообщите нам об этом, напишем отдельное руководство на русском.
Если у вас возникнут вопросы — напишите нам, с радостью поможем.
Успешной работы!

Подготовка
Для установки вам потребуются:- приватный ключ private.key
- сертификат X.509 domain.crt – высылается центром сертификации после заказа на электронную почту
- промежуточный сертификат intermediate.crt – его можно скачать тут (следует выбрать вариант RSA SHA-2 (under SHA-1 Root) SSL Certificates). Сохраните данный сертификат с именем intermediate.crt
Найдена возможность взлома SHA1, неужели можно использовать промежуточный сертификат с SHA1 Root?
Можно. Сигнатуры на root сертификатах не используются и браузеры не будут предупреждать о небезопасности таких соединений. Это относится только к промежуточному сертификату, ваш сертификат должен использовать SHA2.
Копируем файлы на сервер
Необходимо скопировать private.key, domain.crt и intermediate.crt в папку /etc/ssl (если ее нет — создать).Это можно сделать например через Filezilla (установка клиента рассмотрена также в статье). Однако способ подключения будет отличаться, так как нужен доступ не только к папке сайта, но и ко всему серверу.
Добавьте новое SFTP подключение, как показано на скриншоте ниже. Используйте логин и пароль от сервера, которые пришли на вашу электронную почту после создания сервера, а также внешний ip–адрес сервера.

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

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

Перейдите в папку "/etc/ssl" и скопируйте туда файлы private.key, domain.crt, intermediate.crt.
Включаем HTTPS в NGINX
Для демонстрации будем использовать сервер с предустановленными NGINX (в качестве реверс-прокси), Apache, PHP, MySQL, phpMyAdmin и FTP. Образ данного сервера Ubuntu 14.04 lamp доступен в InfoboxCloud и на VPS от Infobox. Процесс создания сервера был рассмотрен в статье ранее.Подключитесь к серверу по SSH.
В шаблоне LAMP настраивать HTTPS нужно на реверс-прокси NGINX.
Объедините промежуточный сертификат с вашим сертификатом:
cat /etc/ssl/domain.crt /etc/ssl/intermediate.crt >> group.crt
Теперь установите права для доступа к private.key:
chmod 600 /etc/ssl/private.key
Отредактируйте файл конфигурации nginx:
nano /etc/nginx/sites-enabled/default
Внесите изменения, как показано на скриншоте ниже (вместо plugndo.com используйте ваш домен):

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

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

Включаем HTTPS в Apache
Для демонстрации будем использовать сервер с предустановленным Apache. Образ данного сервера Ubuntu 14.04 доступен в InfoboxCloud и на VPS от Infobox.Подключитесь к серверу по SSH.
Разрешите Apache загружать SSL–модуль:
a2enmod ssl
Отредактируйте файл конфигурации Apache:
nano /etc/apache2/sites-enabled/000-default.conf
Внесите изменения, как показано на скриншоте ниже (вместо plugndo.com используйте ваш домен, a вместо feedback@plugndo.com – адрес электронной почты администратора):

Теперь перезапустите Apache:
service apache2 restart
Соединение по HTTPS успешно устанавливается. Браузер отображает предупреждение, так как картинка на странице доступна по http (с такой же проблемой вы можете встретиться на своем сайте — ресурсы должны загружаться по HTTPS).

Давайте в коде страницы исправим адрес на HTTPS:
nano /var/www/vhosts/infobox.ru/httpdocs/community/index.html

Теперь соединение отмечается как безопасное.

Если вам необходимы инструкции по установке SSL–сертификатов на другие веб-сервера — вы можете найти нужную инструкцию тут. И конечно сообщите нам об этом, напишем отдельное руководство на русском.
Если у вас возникнут вопросы — напишите нам, с радостью поможем.
Успешной работы!
0 комментариев