Для того, чтобы платформа работала по протоколу HTTPS, необходимо установить сертификат на вашем сервере. Для этого выполните следующие шаги:
Поместите файл сертификата, ключа и, если есть, пароля (certificate.crt, privatekey.key, password.pass) в папку /var/lib/visiology/certs на вашем сервере. Приведённые выше имена файлов заданы по умолчанию, поэтому, если требуется их переименование, вы можете сделать это в соответствующей секции кода ниже. Если установлен пароль для сертификата, то нужно раскомментировать 33 строку в файле (расширение верное - .ym_) /var/lib/visiology/scripts/extended-services/01-reverse-proxy-https.ym_
ssl_password_file /mnt/volume/password.pass;
Если вы планируется встраивать в портал внешние ссылки, то для корректной работы нужно удалить 19 строчку
add_header X-Frame-Options "SAMEORIGIN";
Образцы файлов reverse-proxy.yml для http и 01-reverse-proxy-https.ym_ для https можно взять в каталоге /var/lib/visiology/scripts/default
Запуск платформы
При запуске run.sh требуется добавить аргумент --https true
/var/lib/visiology/scripts/run.sh --https true
Возможные неполадки и пути их устранения
Проблема: не удаётся зайти на платформу, когда она настроена для работы по HTTPS.
В этом случае, необходимо выполнить следующие шаги:
Проверьте, что сервис reverse-proxy запущен, выполнив следующую команду: docker service ls | grep reverse-proxy
Если он не запущен, просмотрите его логи: docker service logs visiology_reverse-proxy --since 5m
Убедиться, что на хосте есть файл /var/lib/visiology/scripts/extended-services/01-reverse-proxy-https.yml
Если в логе присутствуют ошибки вида "Cannot load certificate..." или "Cannot load key...", то потребуется проверить соответствие названий файлов сертификатов на хосте и в файле /var/lib/visiology/scripts/extended-services/01-reverse-proxy-https.yml.
В файле /var/lib/visiology/scripts/reverse-proxy.yml необходимо проверить следующее:
в секции services.reverse-proxy присутствует секция volumes со следующим содержимым: - /var/lib/visiology/certs:/mnt/volume;
на сервере расположены файлы сертификата, ключа и пароля (если требуется) в папке /var/lib/visiology/certs;
имена файлов сертификатов в папке /var/lib/visiology/certs соответствуют названиям в файле /var/lib/visiology/scripts/extended-services/01-reverse-proxy-https.yml в секции services.reverse-proxy.environment.HTTPS_SECTION_SERVER. Необходимо сравнить имена файлов (значение после последнего знака /).
Проблема: при входе в платформу возникает ошибка “неверный redirect_uri”
Если у вас используется самоподписанный сертификат, то его надо добавить в доверенные в Grafana. Для этого в файле /var/lib/visiology/scripts/v3/monitoring.yml в секции services.grafana добавить строку в начало секции volumes: