/
Настройка 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.

Образцы файлов reverse-proxy.yml для http и https можно взять в каталоге default дистрибутива платформы

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

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

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

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

Иногда невозможно зайти на платформу, когда она настроена для работы по 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

Изменение доменного имени или протокола (HTTP/HTTPS)
Изменение доменного имени или протокола (HTTP/HTTPS)
Read with this
Настройка HTTPS
Настройка HTTPS
More like this
Установка платформы
Установка платформы
Read with this
Настройка HTTPS
Настройка HTTPS
More like this
Установка платформы
Установка платформы
Read with this
Настройка HTTPS
Настройка HTTPS
More like this