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

Эта страница описывает, как первоначально установить SSL-сертификат и перевести ваш веб-сайт на использование HTTPS. Если вы уже используете SSL-сертификат и он истёк, обратитесь к Обновление странице.

Платформа Navixy использует Nginx в качестве веб-сервера. Он совместим как с Linux, так и с Windows, поэтому приведённые ниже шаги применимы к любой операционной системе.

Шаг 1. Подготовьте SSL-сертификаты

Для обеспечения SSL-защиты вашего веб-сайта вам понадобится SSL-сертификат и соответствующий ему приватный ключ. Если у вашего сайта несколько имён доменов, вам потребуется сертификат для каждого домена или многодоменный (SAN) либо wildcard-сертификат.

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

Цепочка доверия

Чтобы ваш SSL-сертификат работал корректно, он должен включать полную цепочку доверия. Это означает, что в файле(ах) сертификата должны содержаться не только основной сертификат, но также любые промежуточные и корневые сертификаты, необходимые для установления цепочки доверия с издателем сертификата. Такие сертификаты называются сертификатами с полной цепочкой (full chain).

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

Требование приватного ключа

Чтобы веб-сервер Nginx корректно запускался, приватный ключ должен соответствовать SSL-сертификату. Как правило, издатель сертификата предоставляет приватный ключ вместе с сертификатом. Если вы переиздаёте сертификат в том же центре сертификации, приватный ключ часто остаётся прежним и его не нужно заменять.

Шаг 2. Установите SSL-сертификаты

Автоматическая настройка SSL с LetsEncrypt

Если ваша платформа была установлена автоматически (см. Автоматическая установка), вы можете установить бесплатные сертификаты LetsEncrypt с помощью Мастера настройки.

Ручная настройка SSL с любыми сертификатами

Чтобы вручную установить SSL-сертификаты на сервере, начните с получения файлов сертификата и приватного ключа. Их можно получить в любом центре сертификации. После получения файлов поместите их в каталог на вашем сервере. Рекомендуется использовать стандартные пути, которые находятся /etc/nginx/ssl/ для Linux и C:\nginx\conf\ssl\ для Windows.

После размещения файлов в соответствующем каталоге вы можете указать путь к сертификату и приватному ключу в конфигурации вашего веб-сайта. Рекомендуется использовать короткие пути, например ssl/name.crt и ssl/name.key. Используя эти стандартные пути, вам не придётся указывать полный путь к сертификату и приватному ключу в конфигурации сайта.

Шаг 3. Обновите конфигурацию

Обновите конфигурацию Nginx

Найдите файл конфигурации вашего веб-сайта. Обычно он называется navixy.conf и находится по пути /etc/nginx/sites-available/ (Linux) или C:\nginx\sites-enabled\ (Windows).

Рекомендуется использовать готовые конфигурации Nginx, представленные на странице Nginx Просто выберите конфигурацию HTTPS, соответствующую вашей операционной системе и количеству доменов, и замените текущее содержимое navixy.conf на неё. Затем вам нужно только указать домены и пути к сертификатам и приватным ключам. Это поможет избежать возможных ошибок, поскольку остальная часть конфигурации уже проверена в работе. Тем не менее, при необходимости вы также можете редактировать конфигурацию Nginx вручную.

Измените порт прослушивания с "80" на "443 ssl" и добавьте строки, связанные с SSL, в конфигурацию каждого сайта, указав правильные пути к файлам fullchain-сертификата и ключа.

listen 443 ssl; ## слушать на ipv4
ssl_certificate /ssl/certificate.crt;
ssl_certificate_key /ssl/private.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

Ниже приведён пример конфигурации для API-сайта:

server {
listen 443 ssl; ## слушать на ipv4
server_name api.domain.com;
access_log /var/log/nginx/api.domain.com_ssl.access.log;
client_max_body_size 20m;
ssl_certificate /ssl/certificate.crt;
ssl_certificate_key /etc/nginx/ssl/private.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
location / {proxy_pass http://127.0.0.1:8084;
}
}

Перезапустите веб-сервер Nginx:

  • Для Linux: nginx -t && nginx -s reload

  • Для Windows необходимо завершить все процессы Nginx, а затем запустить nginx.exe from C:\nginx.

Убедитесь, что Nginx запущен и не выдаёт ошибок, связанных с SSL.

Обновите файлы конфигурации платформы

Далее необходимо указать Navixy использовать протокол HTTPS вместо HTTP во всех файлах конфигурации. Откройте следующие файлы:

  • /var/www/panel-v2/PConfig.js – отредактируйте параметр "apiRoot", заменив "http" на "https". Отредактируйте параметр "terminalHost" — замените "ws" на "wss" и удалите порт 8383.

  • /var/www/pro-ui/Config.js – отредактируйте параметр "apiRoot", заменив "http" на "https"

  • /var/www/pro-ui/static/app_config.js – отредактируйте параметр "apiUrl", заменив "http" на "https" (если значение присутствует)

  • /home/java/api-server/conf/config.properties – отредактируйте параметр api.externalBaseUrl, заменив "http" на "https" (если значение присутствует)

Перезапустите службы Navixy (см. Перезапуск инстанса) чтобы все изменения вступили в силу. Если страница по-прежнему загружается по HTTP, попробуйте очистить кэш браузера.

Последнее обновление

Это было полезно?