Установка SSL-сертификатов
Эта страница описывает, как первоначально установить SSL-сертификат и перевести ваш веб-сайт на использование HTTPS. Если вы уже используете SSL-сертификат и он истёк, обратитесь к Обновление странице.
Платформа Navixy использует Nginx в качестве веб-сервера. Он совместим как с Linux, так и с Windows, поэтому приведённые ниже шаги применимы к любой операционной системе.
Шаг 1. Подготовьте SSL-сертификаты
Для обеспечения SSL-защиты вашего веб-сайта вам понадобится SSL-сертификат и соответствующий ему приватный ключ. Если у вашего сайта несколько имён доменов, вам потребуется сертификат для каждого домена или многодоменный (SAN) либо wildcard-сертификат.
Для корректной работы веб-сервера важно иметь не только SSL-сертификат, но и файл приватного ключа, который ему соответствует. Без правильного приватного ключа веб-сервер не сможет запуститься. Как правило, и сертификат, и приватный ключ предоставляет ваш центр сертификации.
Чтобы получить сертификат, вы можете обратиться в любой центр сертификации. Платформа поддерживает действительные сертификаты от любого издателя. Для получения дополнительных сведений об 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).
Измените порт прослушивания с "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, попробуйте очистить кэш браузера.
Последнее обновление
Это было полезно?