Меню

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

На этой странице рассказывается, как выполнить первоначальную установку SSL-сертификата и перевести ваш сайт на использование HTTPS. Если вы уже используете SSL-сертификат и срок его действия истек, обратитесь к странице "Как обновить SSL-сертификат" в разделе "FAQ".

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

Подготовка SSL-сертификата

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

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

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

  • Linux: /etc/nginx/ssl/
  • Windows: C:\nginx\conf\ssl\

В этом случае вам не нужно будет указывать полный путь к сертификату и закрытому ключу в конфигурации вашего сайта. Вы можете указать короткие пути: ssl/name.crt и ssl/name.key.

Цепочка доверия SSL-сертификата

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

Такой сертификат называется сертификатом с полной цепочкой (fullchain-сертификатом).

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

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

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

Требование к закрытому ключу

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

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

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

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

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

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

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

listen 443 ssl; ## listen for 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; ## listen for 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 из папки 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, очистите кэш браузера.

Миграция с Wialon
Показать
Миграция с Wialon
Перенос пользователей,
трекеров, геозон и истории.
Узнать больше
Скрыть

Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookie.