Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

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

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

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

Блок кода
languageyaml
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 on; ssl_certificate /mnt/volume/certificate.crt; ssl_certificate_key /mnt/volume/privatekey.key; #ssl
  1. (информация) Если для сертификата установлен пароль, необходимо раскомментировать 33-ю строку в файле /var/lib/visiology/scripts/extended-services/01-reverse-proxy-https.ym_ (расширение .ym_ не является ошибочным):

    Блок кода
    ssl_password_file   /mnt/volume/password.pass
; HTTP_SECTION_SERVER: |

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

панель
panelIconIdatlassian-warning
panelIcon:warning:
bgColor#DEEBFF

Если вы планируется встраивать в портал внешние ссылки, то для корректной работы нужно удалить 14 строчку

Блок кода
languageyaml
add_header X-Frame-Options "SAMEORIGIN"
  1. ;
Информация

Образцы файлов reverse-proxy.yml для http и https HTTP и 01-reverse-proxy-https.ym_ для HTTPS можно взять в каталоге default дистрибутива платформы /var/lib/visiology/scripts/default

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

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

Блок кода
languagebash
/var/lib/visiology/scripts/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 со следующим содержимым: -
  1. Убедитесь, что на хосте есть файл /var/lib/visiology/

certs:/mnt/volume;
  • на сервере расположены файлы сертификата, ключа и пароля (если требуется) в папке /var/lib/visiology/certs;

  • имена файлов сертификатов в папке /var/lib/visiology/certs соответствуют названиям в секции services.reverse-proxy.environment.HTTPS_SECTION_SERVER. Необходимо сравнить имена файлов (значение после последнего знака /).

  • Проблема: не работает один из компонентов платформы.

    Платформа настроена для работы по HTTPS и один из ее компонентов не работает.

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

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

    2. Если он не запущен, просмотрите его логи:
      docker service logs visiology_reverse-proxy --since 5mscripts/extended-services/01-reverse-proxy-https.yml

    3. Если в логе присутствуют ошибки вида "Cannot load certificate..." или "Cannot load key...", то потребуется проверить соответствие названий файлов сертификатов на хосте и в файле /var/lib/visiology/scripts/extended-services/01-reverse-proxy-https.yml.

    4. В файле /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”.

    Также убедитесь, что сертификаты присутствуют в папке /var/lib/visiology/certs.

    Выполните команду:

    Блок кода
    languagebash
    container_id=$(docker ps | grep visiology3_keycloak |  awk '{ print $1 }'); \
    docker exec ${container_id} /opt/keycloak/bin/change-url.sh

    Проблема: не открывается Grafana.

    Если у вас используется самоподписанный сертификат, то его надо добавить в доверенные в Grafana. Для этого в файле создайте файл 50-grafana.yml в директории /var/lib/visiology/scripts/v3/monitoring.yml в секции services.grafana добавить строку в начало секции volumesextended-services с содержимым:

    Блок кода
    languageyaml
    version: "3.8"
    
    services:
      grafana:
        volumes:
          - /var/lib/visiology/certs/certificate.crt:/etc/ssl/certs/proxy.crt:ro
    Информация

    Вместо certificate.crt необходимо указать название вашего сертификата.


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

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

    🕑 Время чтения: 1 мин.


    Нужна дополнительная помощь?

    Свяжитесь с технической поддержкой.