У меня есть производственное мобильное приложение, работающее на сервере Parse Server, размещенное на DigitalOcean. Это моя установка:
Droplet no1: Parse Server and Dashboard
Droplet no2: MongoDB
И вот как клиент подключается к Parse Server:
let productionServerConfiguration = ParseClientConfiguration {
$0.applicationId = "applicationId"
$0.clientKey = "clientKey"
$0.server = "http://domain:1337/parse"
}
Теперь я хочу добавить сертификат SSL к серверу Parse Server, но я боюсь, что случится с существующими пользователями, у которых все еще есть http
. Кроме того, мне нужно добавить сертификат SSL на сервер MongoDB?
Вы не дали много информации о том, как настроен ваш Parse Server, но, на мой взгляд, самый простой способ добиться того, что вы хотите, - это иметь обратный прокси сидит между клиентами и вашим сервером анализа.
Как на этой диаграмме:
В этой настройке ваши клиенты находятся в крайнем левом углу и получают доступ к вашим серверам через Интернет; ваш сервер Parse Server (и, возможно, ваша база данных Mongo) расположен в правой части изображения (метка «Серверы»), а обратный прокси-сервер - посередине. На рынке существует множество обратных прокси, поэтому вы можете выбрать тот, который вам больше всего подходит, но мой любимый - Nginx.
Обратный прокси - это место, где вы установите сертификат SSL, и он будет отвечать за получение запросов от ваших клиентов. Клиенты никогда не будут напрямую обращаться к вашим серверам (Parse и MongoDB). Все соединения будут проходить через обратный прокси; вам просто нужно настроить обратный прокси-сервер для перенаправления подключений к правильному серверу (на основе порта, URL-адреса или любого другого параметра, который вы хотите).
Что касается старых клиентов, которые все еще обращаются к вашему серверу через http
, без сертификата SSL вы также можете настроить обратный прокси-сервер для перенаправления любых http
просьба к https
перед отправкой запроса в конечный пункт назначения.
Отвечая на ваш последний вопрос: нет, вам не нужен сертификат SSL на MongoDB. SSL-сертификата, который вы устанавливаете в обратном прокси-сервере, достаточно.