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

Ключ

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

...

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

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

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

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

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

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

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

  7. В файле 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;
        ssl_certificate     /mnt/volume/certificateproxy.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

Информация

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

docker volume rm visiology3_postgres_data

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

...

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

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

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

...