/
Настройка HTTPS

Настройка HTTPS

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

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

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

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

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

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

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

  7. В файле reverse-proxy.yml замените тело секции services.reverse-proxy.environment на код ниже:

HTTPS_SECTION_HTTP: | # HTTPS server optimization section # This will create a cache shared between all worker processes ssl_protocols TLSv1.3 TLSv1.2; ssl_ciphers EECDH+AESGCM:EDH+AESGCM; #ssl_dhparam /etc/nginx/dhparam.pem; ssl_ecdh_curve secp384r1; ssl_session_timeout 5m; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; ssl_stapling on; ssl_stapling_verify on; add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; # Redirect HTTP to HTTPS section server { listen 80; return 301 https://$$host$$request_uri; } HTTPS_SECTION_SERVER: | listen 443 ssl http2; ssl_certificate /mnt/volume/proxy.crt; ssl_certificate_key /mnt/volume/privatekey.key; #ssl_password_file /mnt/volume/password.pass; HTTP_SECTION_SERVER: |

Если у вас есть файл пароля ключа, то необходимо раскомментировать строку ssl_password_file.

Запуск платформы

При запуске run.sh требуется добавить аргумент --https true

Ограничение: При смене HTTP на HTTPS и наоборот, требуется удалить docker volume сервиса keycloak. Это повлечёт удаление всех созданных пользователей в Visiology 3. Удаление требуется делать при остановленной платформе. Команда удаления:

docker volume rm visiology3_postgres_data

Возможные неполадки и пути их устранения

Проблема: не удаётся зайти на платформу.

Иногда невозможно зайти на платформу, когда она настроена для работы по HTTPS.

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

  1. Проверьте, что сервис reverse-proxy запущен, выполнив следующую команду:
    docker servece 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

Обновление компонентов, установленных на одном сервере
Обновление компонентов, установленных на одном сервере
Read with this
Настройка HTTPS
Настройка HTTPS
More like this
Зaпуск платформы
Зaпуск платформы
Read with this
Настройка HTTPS
Настройка HTTPS
More like this
Установка платформы
Установка платформы
Read with this
Настройка HTTPS
Настройка HTTPS
More like this