/
Настройка HTTPS

Настройка HTTPS

Для того, чтобы платформа работала по протоколу HTTPS, необходимо установить сертификат на вашем сервере. Для этого выполните следующие шаги:

  1. В панели администратора перейдите в раздел «База данных ViQube».

  2. В пункте меню «Резервное копирование» раздела «База данных ViQube» нажмите на кнопку «Сохранить копию сейчас».

  3. На основном сервере платформы остановите контейнеры, выполнив следующую команду:

    ./run.sh --stop
  4. Удалите папку /docker-volume/proxy/proxy.crt

  5. Создайте текстовый файл, который будет содержать пароль для SSL сертификата (например, password.pass)

  6. Поместите файл сертификата, ключа и, если есть, пароля (certificate.crt, privatekey.key, password.pass) в папку /var/lib/visiology/certs и /docker-volume/proxy на вашем сервере. При этом в папку /docker-volume/proxy нужно класть сертификат обязательно с именем proxy.crt, для этого переименуйте файл certificate.crt
    Приведённые выше имена файлов заданы по умолчанию, поэтому, если требуется их переименование, вы можете сделать это в соответствующей секции кода ниже.

  7. Если установлен пароль для сертификата, то нужно раскомментировать 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.

В этом случае, необходимо выполнить следующие шаги:

  1. Проверьте, что сервис reverse-proxy запущен, выполнив следующую команду:
    docker service ls | grep reverse-proxy

  2. Если он не запущен, просмотрите его логи:
    docker service logs visiology_reverse-proxy --since 5m

  3. Если в логе присутствуют ошибки вида "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)

В этом случае, необходимо выполнить следующие шаги:

  1. Проверьте, что сервис reverse-proxy запущен, выполнив следующую команду:
    docker service ls | grep reverse-proxy

  2. Если он не запущен, просмотрите его логи:
    docker service logs visiology_reverse-proxy --since 5m

  3. Если в логе присутствуют ошибки вида "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.


Смотрите также

Разворачивание платформы

Related content