Как настроить приложение DotNet Core 3.0 для приема HTTPS-запросов от NGINX и Docker - PullRequest
0 голосов
/ 08 октября 2019

У меня проблемы с настройкой приложения. Я использую Docker для всех контейнеров. У меня есть один контейнер, который принимает запрос от хоста, на котором работает мой прокси-сервер NGINX. Я использую NGINX в качестве своего пограничного сервера, и он обрабатывает переключение HTTP -> HTTPS и управление сертификатами (я использую сертификат подстановочного знака, если это имеет значение). Затем он попадает в основное приложение в папке "/". Основное приложение находится в отдельном контейнере и работает под управлением DotNet Core 3.0. Они оба находятся в одной сети докеров. Моя проблема с подключением 2 в безопасном режиме. Сначала я попытался настроить Kestrel, используя тот же сертификат, но там были проблемы, возможно, они следовали неправильной документации. Я решил отказаться от этого и попробовать его без Kestrel, поскольку технически NGINX является пограничным сервером, но у меня возникают проблемы с HTTPS, исходящим от NGINX и отклоняемым приложением, такие как небезопасное соединение или сертификат не найден. Вся информация, которую я нашел, содержит кусочки того, что мне нужно, и я чувствую, что мне не хватает небольшого кусочка, чтобы сделать эту работу. Как правильно настроить безопасное соединение между приложением и прокси-сервером и как получить статические IP-адреса / порты, чтобы я мог их подключить?

1 Ответ

0 голосов
/ 08 октября 2019

После гораздо большего прочтения документации кажется, что мой оригинальный подход был лучшим способом. См. https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?view=aspnetcore-3.0#configuration. Рекомендуется запускать Kestrel с

. Поскольку я запускаю приложение за обратным прокси-сервером через разные IP-адреса, это становится ситуацией перекрестного источника в одном и том же домене. Поэтому решение состоит в том, чтобы настроить Kestrel для использования HTTPS с использованием подстановочного сертификата, который использует пограничный сервер. Это должно обеспечить наилучшую практику, сквозное шифрование от клиента к приложению.

...