Во-первых, вам не нужно помещать сертификаты в ваш контейнер.При использовании ASP.NET Core в Docker-контейнерах типичный вариант использования - настроить его на использование обратного прокси-сервера (такого как nginx, IIS и т. Д.) Как будто (сервер, обращенный к Интернету), который принимает запрос извне и действует как конечная точка завершения SSL кака также балансировщик нагрузки.
Трафик от обратного прокси-сервера к контейнеру вашего приложения не зашифрован (только внутри вашей собственной сети, а не через общедоступную сетевую работу).Это имеет преимущества в производительности (балансировщик нагрузки будет выполнять ssl-шифрование) и меньше затрат на обслуживание (если вы меняете сертификат, вы делаете это на обратном прокси-сервере, и это относится ко всем приложениям позади).
Обратный прокси-сервердолжен отправлять X-Forwarded-*
заголовки, которые сообщают приложению, был ли этот запрос подключен с использованием SSL (заголовок X-Forwarded-Proto
), для которого он был перенаправлен (X-Forarded-For
, IP-адрес запрашивающего лица) может быть другим обратным прокси или ip конечного пользователя) и т. д.
Ядро ASP.NET распознает эти заголовки и не будет обрабатывать их так, как если бы это был запрос HTTPS (даже если соединение обратного прокси-сервера с приложением не зашифровано).