Продукт «Форсайт. Мобильная платформа» поддерживает соединение по протоколу HTTPS:
Протокол HTTPS позволяет обеспечивать TLS-сессии при наличии сертификата шифрования. Для повышения безопасности настройте работу сервера мобильной платформы по протоколу HTTP/1.1 или HTTP/2 с использованием сертификатов шифрования. По умолчанию используется протокол HTTP/1.1 без сертификатов.
Примечание. Протокол HTTP/2 с сертификатами шифрования используется только при взаимодействии мобильного устройства с сервером мобильной платформы. При отправке запроса с сервера мобильной платформы к источнику данных используется протокол HTTP/1.1 с сертификатами или без них в зависимости от заданных настроек.
Если при открытии консоли администратора по протоколу HTTPS возникает ошибка «403», то обратитесь к разделу «Восстановление доступности консоли администратора».
Настройка HTTPS-соединения между мобильным устройством и сервером мобильной платформы отличается в зависимости от конфигурации.
Для настройки HTTPS-соединения между мобильным устройством и сервером мобильной платформы при использовании одиночной конфигурации продукта:
Сгенерируйте сертификат шифрования с помощью специальных криптографических программных средств, например, OpenSSL.
После выполнения действия должны быть получены файлы:
<наименование сертификата>.crt. Сертификат шифрования;
<наименование ключа шифрования>.key. Ключ шифрования.
Скопируйте содержимое файлов и задайте переменные в файле .env, который расположен на сервере мобильной платформы:
присвойте переменной «TLS_CERT» содержимое файла <наименование сертификата>.crt;
присвойте переменной «TLS_KEY» содержимое файла <наименование ключа шифрования>.key.
Откройте консоль администратора с указанием протокола HTTPS.
После выполнения действий работа сервера мобильной платформы будет настроена по протоколу HTTPS. При указании протокола HTTP будет выполняться автоматическая переадресация на HTTPS.
Для использования протокола HTTP удалите содержимое переменных «TLS_CERT», «TLS_KEY» в файле .env.
Для настройки HTTPS-соединения между мобильным устройством и сервером мобильной платформы при использовании кластерной конфигурации продукта:
Сгенерируйте сертификат шифрования с помощью специальных криптографических программных средств, например, OpenSSL.
После выполнения действия должны быть получены файлы:
<наименование сертификата>.crt. Сертификат шифрования;
<наименование ключа шифрования>.key. Ключ шифрования.
Выполните действия в зависимости от используемой версии «Форсайт. Мобильная платформа»:
при использовании «Форсайт. Мобильная платформа» версии 21.04 добавьте полученный сертификат <наименование сертификата>.crt и ключ шифрования <наименование ключа шифрования>.key в папку «tls», расположенную по пути: <папка с файлами конфигурации сервера>/fmp/chart/files/tls/.
Для использования протокола HTTP удалите файлы <наименование сертификата>.crt, <наименование ключа шифрования>.key из папки «tls».
при использовании «Форсайт. Мобильная платформа» версии 21.10 и выше:
Добавьте в команду параметр nginx.ingress.tls со значением true при установке или обновлении мобильной платформы:
--set nginx.ingress.tls=true
Укажите содержимое полученного сертификата и ключа шифрования в файле 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:
Добавьте в команду параметр nginx.ingress.tls со значением false при установке или обновлении мобильной платформы:
--set nginx.ingress.tls=false
Удалите содержимое сертификата и ключа шифрования в файле values.production.yaml.
После выполнения действий работа сервера мобильной платформы будет настроена по протоколу HTTPS. При указании протокола HTTP будет выполняться автоматическая переадресация на HTTPS.
Для выбора протокола HTTP/2 укажите версию при формировании запроса в коде мобильного приложения, например:
при использовании Python:
import httpx
r = httpx.get("https://example.com", http2=True)
при использовании Node.js:
const http2 = require('http2');
const client = http2.connect('https://example.com')
при выполнении запроса с помощью API-метода:
curl --http2-prior-knowledge https://example.com
Сервер мобильной платформы поддерживает одновременную обработку запросов от мобильных приложений, работающих на разных версиях протокола HTTP.
Для настройки HTTPS-соединения между сервером мобильной платформы и источником данных добавьте сертификаты шифрования серверов источников данных из корпоративного или стороннего центра сертификации на вкладке «Сертификаты» в подразделе «Безопасность».
См. также:
Установка и настройка продукта «Форсайт. Мобильная платформа» | Дополнительные настройки сервера мобильной платформы | Отключение монтирования файлов