Настройка HTTPS
Для того, чтобы платформа работала по протоколу HTTPS, необходимо установить сертификат на вашем сервере. Для этого выполните следующие шаги:
В панели администратора перейдите в раздел «База данных ViQube».
В пункте меню «Резервное копирование» раздела «База данных ViQube» нажмите на кнопку «Сохранить копию сейчас».
На основном сервере платформы остановите контейнеры, выполнив следующую команду:
./run.sh --stop
Удалите папку /docker-volume/proxy/proxy.crt
Создайте текстовый файл, который будет содержать пароль для SSL сертификата (например, password.pass)
Поместите файл сертификата, ключа и, если есть, пароля (
certificate.crt
,privatekey.key
,password.pass
) в папку/var/lib/visiology/certs
и/docker-volume/proxy
на вашем сервере. При этом в папку/docker-volume/proxy
нужно класть сертификат обязательно с именемproxy.crt,
для этого переименуйте файлcertificate.crt
Приведённые выше имена файлов заданы по умолчанию, поэтому, если требуется их переименование, вы можете сделать это в соответствующей секции кода ниже.Если установлен пароль для сертификата, то нужно раскомментировать 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
Возможные неполадки и пути их устранения
Проблема: не удаётся зайти на платформу.
Иногда невозможно зайти на платформу, когда она настроена для работы по HTTPS.
В этом случае, необходимо выполнить следующие шаги:
Проверьте, что сервис
reverse-proxy
запущен, выполнив следующую команду:docker service ls | grep reverse-proxy
Если он не запущен, просмотрите его логи:
docker service logs visiology_reverse-proxy --since 5m
Если в логе присутствуют ошибки вида "
Cannot load certificate...
" или "Cannot load key...
", то потребуется проверить соответствие названий файлов сертификатов на хосте и в файлеreverse-proxy.yml
.
В файле reverse-proxy.yml
необходимо проверить следующее:
в секции
services.reverse-proxy
присутствует секцияvolumes
со следующим содержимым:- /var/lib/visiology/certs:/mnt/volume
;на сервере расположены файлы сертификата, ключа и пароля (если требуется) в папке
/var/lib/visiology/certs
;имена файлов сертификатов в папке
/var/lib/visiology/certs
соответствуют названиям в секцииservices.reverse-proxy.environment.HTTPS_SECTION_SERVER
. Необходимо сравнить имена файлов (значение после последнего знака/
).
Проблема: не работает один из компонентов платформы.
Платформа настроена для работы по HTTPS и один из ее компонентов не работает (Smart Forms, python-script-service, ViLoader, Grafana, ViQube Admin, ssbi, identity-server, dashboard-service, dashboard-viewer, export-service, script-service, scheduler, migration-service, mail-service, regular-reporting, kerberos-auth-server)
В этом случае, необходимо выполнить следующие шаги:
Проверьте, что сервис
reverse-proxy
запущен, выполнив следующую команду:docker service ls | grep reverse-proxy
Если он не запущен, просмотрите его логи:
docker service logs visiology_reverse-proxy --since 5m
Если в логе присутствуют ошибки вида "
Cannot load certificate...
" или "Cannot load key...
", то потребуется проверить соответствие названий файлов сертификатов на хосте и в файлеreverse-proxy.yml
.
В файле reverse-proxy.yml
необходимо проверить следующее:
в секции
services.reverse-proxy
присутствует секцияvolumes
со следующим содержимым:- /var/lib/visiology/certs:/mnt/volume
;на сервере расположены файлы сертификата, ключа и пароля (если требуется) в папке
/var/lib/visiology/certs
;имена файлов сертификатов в папке
/var/lib/visiology/certs
соответствуют названиям в секцииservices.reverse-proxy.environment.HTTPS_SECTION_SERVER
. Необходимо сравнить имена файлов (значение после последнего знака/
).
Также убедитесь, что сертификат proxy.crt
присутствует в папке /docker-volume/proxy
. Имя файла обязательно должно быть proxy.crt
, а содержимое должно быть идентично сертификату из папки /var/lib/visiology/certs
.
Смотрите также