Installing the ssl certificate on apache
The certificate is installed in the Apache configuration file:
Add certificate data to the VirtualHost section of your domain:
Reboot the Apache server:
Installing the ssl certificate on nginx
The certificate is installed in the Nginx configuration file:
Веб-сервер apache
Если ssl-запросы обрабатывает Apache, то сертификат устанавливается в файле конфигурации Apache.
Ubuntu / Debian – /etc/apache2/apache2.conf.
Веб-сервер nginx
Если ssl-запросы обрабатывает Nginx, то сертификат устанавливается в файле конфигурации Nginx.
Откройте конфигурационный файл Nginx – /etc/nginx/nginx.conf
Создайте серверный модуль для SSL-соединения. Пример:
Добавление ssl-сертификата на хостинг с ispmanager
Все обозначения, такие как domen1.xyz, необходимо заменить на ваш домен, для которого устанавливаете SSL-сертификат.
Войдите в панель хостинга, откройте раздел WWW → SSL-сертификаты → Создать и следуйте дальнейшем шагам.
- Тип SSL-сертификата – Выбираем пункт существующий сертификат
- Имя сертификата – рекомендуется указывать имя домена вида domen1.xyz
- Поля SSL-сертификат, Цепочка SSL-сертификатов – заполняются содержимым из файлов с именем вида domen1_xyz.crt, которые вам прислал центр-сертификации, а поле Ключ SSL-сертификата должно быть заполнено содержимым из файла с именем вида domen1_xyz.key.
После добавления SSL-сертификата, чтобы его подключить, пройдите в WWW → WWW-домены → Изменить
В настройках WWW-домена в пункте выбора SSL-сертификат выбираем по названию сертификат и нажимаем ОК.
На этапе включения SSL-сертификата нижеуказанные опции НЕ Активируем !
☐ HSTS
☐ Перенаправлять HTTP-запросы в HTTPS
Так как это может привести к циклическому перенаправлению на сайте между протоколами HTTP и HTTPS.
Последующие их включение можно осуществлить только после того как в настройках CMS сайта будет установлено защищенное соединение по SSL.
После подключения сертификата, попробуйте открыть ваш веб-сайт по https:// соединению.
Если сайт будет открываться успешно, следующим шагом будет в настройках CMS включение защищенного SSL соединения (в зависимости от CMS это может выполняться разным образом). И уже после настроек CMS на защищенный протокол, можно попробовать включать принудительную переадресацию (redirect) на HTTPS в настройках WWW-домена.
Полезные команды openssl
- Создание ключа для SSL-сертификата:
openssl req -batch -noout -new -newkey rsa:2048 -nodes -keyout cert.key
openssl req -new -key cert.key -out cert.csr
openssl rsa -in cert.key -out cert.key
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
Два последних значения должны совпадать, в нашем случае это md5.
Проверка порта
По умолчанию ssl использует 443 порт, поэтому будем проверять именно его. Какой веб-сервис отвечает на 443 порту, можно проверить командой:
- Для Ubuntu / Debian / Centos
# netstat -napt | grep 443
либо
# ss -tlpn | grep 443
Вывод будет примерно следующим:
tcp 0 0 188.120.233.16:443 0.0.0.0:* LISTEN 731/apache2
# sockstat | grep 443
Вывод будет примерно следующим:
Ручная установка ssl-сертификата
Если панели ISPmanager 6 на сервере нет, то для установки сертификата вам нужно подключиться к серверу по SSH.
Установка сертификата
Первым делом мы включим поддержку SSL для нашего домена. Переходим в WWW-domains из основного меню слева.
Дважды щелкаем по необходимому нам домену:
Перейдя на настройку нашего домена включаем
Secure Connection (SSL)
и сохраняем изменения:
На главной странице ISPmanager войдя под конечным пользователем нам необходимо найти в основном меню слева раздел
Web-server settings -> SSL Certificates
На открывшейся странице справа добавляем новый сертификат, нажатием на
Add
Указываем что хотим установить уже готовый сертификат, выбирая пункт
Existing
. Выбор
Self-signed certificate
перенаправит нас на создание собственного сертификата, что нам не подходит.
Далее мы указываем:
SSL certificate name — имя сертификата, которое будет указано в ISPmanager
Certificate — основной сертификат для домена. Изъят из hostiqtest_tk.crt
Certificate key — RSA-ключ к сертификату, который был создан вместе с CSR запросом.
Certificate chain — цепочка сертификатов. Изъята из hostiqtest_tk.ca_bundle
Обратите внимание, что лишних символов/пробелов/переносов строк быть в полях не должно.
Подтверждаем установку сертификата.
Готово, сертификат установлен.
Файлом .htaccess (для веб-сервера apache)
Создаем файл с именем .htaccess (без расширения) в корне каталога с сайтом и указываем в нем такие строки:
