Настройка работы сервера по протоколу HTTPS

Продукт «Форсайт. Мобильная платформа» поддерживает соединение по протоколу HTTPS:

Протокол HTTPS позволяет обеспечивать TLS-сессии при наличии сертификата шифрования. Для повышения безопасности настройте работу сервера мобильной платформы по протоколу HTTP/1.1 или HTTP/2 с использованием сертификатов шифрования. По умолчанию используется протокол HTTP/1.1 без сертификатов.

Примечание. Протокол HTTP/2 с сертификатами шифрования используется только при взаимодействии мобильного устройства с сервером мобильной платформы. При отправке запроса с сервера мобильной платформы к источнику данных используется протокол HTTP/1.1 с сертификатами или без них в зависимости от заданных настроек.

Если при открытии консоли администратора по протоколу HTTPS возникает ошибка «403», то обратитесь к разделу «Восстановление доступности консоли администратора».

Настройка HTTPS-соединения между мобильным устройством и сервером мобильной платформы

Настройка HTTPS-соединения между мобильным устройством и сервером мобильной платформы отличается в зависимости от конфигурации.

Для настройки HTTPS-соединения между мобильным устройством и сервером мобильной платформы при использовании одиночной конфигурации продукта:

  1. Сгенерируйте сертификат шифрования с помощью специальных криптографических программных средств, например, OpenSSL.

После выполнения действия должны быть получены файлы:

  1. Скопируйте содержимое файлов и задайте переменные в файле .env, который расположен на сервере мобильной платформы:

    • присвойте переменной «TLS_CERT» содержимое файла <наименование сертификата>.crt;

    • присвойте переменной «TLS_KEY» содержимое файла <наименование ключа шифрования>.key.

  1. Откройте консоль администратора с указанием протокола HTTPS.

После выполнения действий работа сервера мобильной платформы будет настроена по протоколу HTTPS. При указании протокола HTTP будет выполняться автоматическая переадресация на HTTPS.

Для использования протокола HTTP удалите содержимое переменных «TLS_CERT», «TLS_KEY» в файле .env.

Для настройки HTTPS-соединения между мобильным устройством и сервером мобильной платформы при использовании кластерной конфигурации продукта:

  1. Сгенерируйте сертификат шифрования с помощью специальных криптографических программных средств, например, OpenSSL.

После выполнения действия должны быть получены файлы:

  1. Выполните действия в зависимости от используемой версии «Форсайт. Мобильная платформа»:

    • при использовании «Форсайт. Мобильная платформа» версии 21.04 добавьте полученный сертификат <наименование сертификата>.crt и ключ шифрования <наименование ключа шифрования>.key в папку «tls», расположенную по пути: <папка с файлами конфигурации сервера>/fmp/chart/files/tls/.

Для использования протокола HTTP удалите файлы <наименование сертификата>.crt, <наименование ключа шифрования>.key из папки «tls».

    • при использовании «Форсайт. Мобильная платформа» версии 21.10 и выше:

      1. Добавьте в команду параметр nginx.ingress.tls со значением true при установке или обновлении мобильной платформы:

--set nginx.ingress.tls=true

      1. Укажите содержимое полученного сертификата и ключа шифрования в файле values.production.yaml:

nginx:
  ingress:
    enabled: true
    hostname: mynginx
    tls: true
    secrets:
      # наименование должно соответствовать формату: <IP-адрес или DNS-имя сервера>-tls
      - name: mynginx-tls
        key: |-
          -----BEGIN PRIVATE KEY-----
          <содержимое ключа шифрования>
          -----END PRIVATE KEY-----
        certificate: |-
          -----BEGIN CERTIFICATE-----
          <содержимое сертификата шифрования>
          -----END CERTIFICATE-----

Для использования протокола HTTP:

      1. Добавьте в команду параметр nginx.ingress.tls со значением false при установке или обновлении мобильной платформы:

--set nginx.ingress.tls=false

      1. Удалите содержимое сертификата и ключа шифрования в файле values.production.yaml.

После выполнения действий работа сервера мобильной платформы будет настроена по протоколу HTTPS. При указании протокола HTTP будет выполняться автоматическая переадресация на HTTPS.

Для выбора протокола HTTP/2 укажите версию при формировании запроса в коде мобильного приложения, например:

import httpx
r = httpx.get("https://example.com", http2=True)

const http2 = require('http2');
const client = http2.connect('https://example.com')

curl --http2-prior-knowledge https://example.com

Сервер мобильной платформы поддерживает одновременную обработку запросов от мобильных приложений, работающих на разных версиях протокола HTTP.

Настройка HTTPS-соединения между сервером мобильной платформы и источником данных

Для настройки HTTPS-соединения между сервером мобильной платформы и источником данных добавьте сертификаты шифрования серверов источников данных из корпоративного или стороннего центра сертификации на вкладке «Сертификаты» в подразделе «Безопасность».

См. также:

Установка и настройка продукта «Форсайт. Мобильная платформа» | Дополнительные настройки сервера мобильной платформы | Отключение монтирования файлов