События
Чемпионат мира Power BI DataViz
14 февр., 16 - 31 мар., 16
С 4 шансами войти, вы можете выиграть пакет конференции и сделать его в LIVE Grand Finale в Лас-Вегасе
ПодробнееЭтот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Автор: Рик Андерсон (Rick Anderson)
ASP.NET Core использует HTTPS по умолчанию. HTTPS использует сертификаты для доверия, идентификации и шифрования.
В этом документе объясняется, как запускать предварительно созданные образы контейнеров с помощью ПРОТОКОЛА HTTPS с помощью интерфейса командной строки .NET (CLI). Инструкции по запуску Docker в разработке с помощью Visual Studio см. в статье "Разработка ASP.NET основных приложений с помощью Docker по протоколу HTTPS".
Для работы с этим примером требуется Docker 17.06 или клиент Docker более поздней версии.
Текущий пакет SDK для .NET.
Сертификат из центра сертификации требуется для размещения в рабочей среде для домена. Let's Encrypt — это центр сертификации, который предлагает бесплатные сертификаты.
В этом документе используются самозаверяемые сертификаты разработки для размещения предварительно созданных образовlocalhost
. Инструкции аналогичны использованию рабочих сертификатов. Созданный сертификат dotnet dev-certs
используется только для использования и localhost
не должен использоваться в среде, такой как Kubernetes. Для поддержки HTTPS в кластере Kubernetes используйте средства, предоставляемые управлением сертификатами TLS в кластере , для настройки TLS в модулях pod.
Используется dotnet dev-certs
для создания самозаверяемых сертификатов для разработки и тестирования.
Для рабочих сертификатов:
dotnet dev-certs
не требуется.Инструкции, содержащиеся в следующем разделе, подключают сертификаты томов к контейнерам с помощью параметра командной строки Docker -v
. Вы можете добавить сертификаты в образы контейнеров с COPY
помощью команды в Dockerfile, но не рекомендуется. Копирование сертификатов в образ не рекомендуется по следующим причинам:
Используйте следующие инструкции для конфигурации операционной системы.
Создайте сертификат и настройте локальный компьютер:
dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p <CREDENTIAL_PLACEHOLDER>
dotnet dev-certs https --trust
В предыдущих командах замените <CREDENTIAL_PLACEHOLDER>
пароль.
Запустите образ контейнера с ASP.NET Core, настроенным для HTTPS, в командной оболочке:
docker pull mcr.microsoft.com/dotnet/samples:aspnetapp
docker run --rm -it -p 8000:80 -p 8001:443 -e ASPNETCORE_URLS="https://+;http://+" -e ASPNETCORE_HTTPS_PORTS=8001 -e ASPNETCORE_Kestrel__Certificates__Default__Password="<CREDENTIAL_PLACEHOLDER>" -e ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx -v %USERPROFILE%\.aspnet\https:/https/ mcr.microsoft.com/dotnet/samples:aspnetapp
В приведенном выше коде замените <CREDENTIAL_PLACEHOLDER>
пароль. Пароль должен совпадать с паролем, используемым для сертификата.
При использовании PowerShell замените %USERPROFILE%
на $env:USERPROFILE
.
Примечание. Сертификат в данном случае должен быть файлом .pfx
.
.crt
Использование или .key
использование файла с паролем или без нее не поддерживается в примере контейнера. Например, при указании .crt
файла контейнер может возвращать сообщения об ошибках, такие как "SSL в режиме сервера должен использовать сертификат с соответствующим закрытым ключом." При использовании WSL проверьте путь подключения, чтобы убедиться, что сертификат загружается правильно.
Создайте сертификат и настройте локальный компьютер:
dotnet dev-certs https -ep ${HOME}/.aspnet/https/aspnetapp.pfx -p <CREDENTIAL_PLACEHOLDER>
dotnet dev-certs https --trust
Для Linux dotnet dev-certs https --trust
требуется пакет SDK для .NET 9 или более поздней версии. Для Linux в пакете SDK для .NET 8.0.401 и более ранних версий см. документацию по дистрибутиву Linux для доверия к сертификату.
В предыдущих командах замените <CREDENTIAL_PLACEHOLDER>
пароль.
Запустите образ контейнера с ASP.NET Core, настроенным для HTTPS:
docker pull mcr.microsoft.com/dotnet/samples:aspnetapp
docker run --rm -it -p 8000:80 -p 8001:443 -e ASPNETCORE_URLS="https://+;http://+" -e ASPNETCORE_HTTPS_PORTS=8001 -e ASPNETCORE_Kestrel__Certificates__Default__Password="<CREDENTIAL_PLACEHOLDER>" -e ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx -v ${HOME}/.aspnet/https:/https/ mcr.microsoft.com/dotnet/samples:aspnetapp
В приведенном выше коде замените <CREDENTIAL_PLACEHOLDER>
пароль. Пароль должен совпадать с паролем, используемым для сертификата.
Создайте сертификат и настройте локальный компьютер:
dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p <CREDENTIAL_PLACEHOLDER>
dotnet dev-certs https --trust
В предыдущих командах замените <CREDENTIAL_PLACEHOLDER>
пароль. При использовании PowerShell замените %USERPROFILE%
на $env:USERPROFILE
.
Запустите образ контейнера с ASP.NET Core, настроенным для HTTPS:
docker pull mcr.microsoft.com/dotnet/samples:aspnetapp
docker run --rm -it -p 8000:80 -p 8001:443 -e ASPNETCORE_URLS="https://+;http://+" -e ASPNETCORE_HTTPS_PORTS=8001 -e ASPNETCORE_Kestrel__Certificates__Default__Password="<CREDENTIAL_PLACEHOLDER>" -e ASPNETCORE_Kestrel__Certificates__Default__Path=c:\https\aspnetapp.pfx -v %USERPROFILE%\.aspnet\https:C:\https\ --user ContainerAdministrator mcr.microsoft.com/dotnet/samples:aspnetapp
ПРИМЕЧАНИЕ.<CREDENTIAL_PLACEHOLDER>
Это заполнитель Kestrel для пароля сертификатов по умолчанию.
Пароль должен совпадать с паролем, используемым для сертификата. При использовании PowerShell замените %USERPROFILE%
на $env:USERPROFILE
.
Сведения о разработке приложений ASP.NET Core с помощью Docker по протоколу HTTPS см. в статье о разработке приложений ASP.NET Core с помощью HTTPS в контейнерах Docker.
dotnet dev-certs
ASP.NET Core использует HTTPS по умолчанию. HTTPS использует сертификаты для доверия, идентификации и шифрования.
В этом документе объясняется, как запускать предварительно созданные образы контейнеров с помощью ПРОТОКОЛА HTTPS с помощью интерфейса командной строки .NET (CLI). Инструкции по запуску Docker в разработке с помощью Visual Studio см. в статье "Разработка ASP.NET основных приложений с помощью Docker по протоколу HTTPS".
Для работы с этим примером требуется Docker 17.06 или клиент Docker более поздней версии.
Текущий пакет SDK для .NET.
Сертификат из центра сертификации требуется для размещения в рабочей среде для домена. Let's Encrypt — это центр сертификации, который предлагает бесплатные сертификаты.
В этом документе используются самозаверяемые сертификаты разработки для размещения предварительно созданных образовlocalhost
. Инструкции аналогичны использованию рабочих сертификатов. Созданный сертификат dotnet dev-certs
используется только для использования и localhost
не должен использоваться в среде, такой как Kubernetes. Для поддержки HTTPS в кластере Kubernetes используйте средства, предоставляемые управлением сертификатами TLS в кластере , для настройки TLS в модулях pod.
Используется dotnet dev-certs
для создания самозаверяемых сертификатов для разработки и тестирования.
Для рабочих сертификатов:
dotnet dev-certs
не требуется.Инструкции, содержащиеся в следующем разделе, подключают сертификаты томов к контейнерам с помощью параметра командной строки Docker -v
. Вы можете добавить сертификаты в образы контейнеров с COPY
помощью команды в Dockerfile, но не рекомендуется. Копирование сертификатов в образ не рекомендуется по следующим причинам:
Используйте следующие инструкции для конфигурации операционной системы.
Создайте сертификат и настройте локальный компьютер:
dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p <CREDENTIAL_PLACEHOLDER>
dotnet dev-certs https --trust
В предыдущих командах замените <CREDENTIAL_PLACEHOLDER>
пароль.
Запустите образ контейнера с ASP.NET Core, настроенным для HTTPS, в командной оболочке:
docker pull mcr.microsoft.com/dotnet/samples:aspnetapp
docker run --rm -it -p 8000:80 -p 8001:443 -e ASPNETCORE_URLS="https://+;http://+" -e ASPNETCORE_HTTPS_PORTS=8001 -e ASPNETCORE_Kestrel__Certificates__Default__Password="<CREDENTIAL_PLACEHOLDER>" -e ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx -v %USERPROFILE%\.aspnet\https:/https/ mcr.microsoft.com/dotnet/samples:aspnetapp
В приведенном выше коде замените <CREDENTIAL_PLACEHOLDER>
пароль. Пароль должен совпадать с паролем, используемым для сертификата.
При использовании PowerShell замените %USERPROFILE%
на $env:USERPROFILE
.
Примечание. Сертификат в данном случае должен быть файлом .pfx
.
.crt
Использование или .key
использование файла с паролем или без нее не поддерживается в примере контейнера. Например, при указании .crt
файла контейнер может возвращать сообщения об ошибках, такие как "SSL в режиме сервера должен использовать сертификат с соответствующим закрытым ключом." При использовании WSL проверьте путь подключения, чтобы убедиться, что сертификат загружается правильно.
Создайте сертификат и настройте локальный компьютер:
dotnet dev-certs https -ep ${HOME}/.aspnet/https/aspnetapp.pfx -p <CREDENTIAL_PLACEHOLDER>
dotnet dev-certs https --trust
dotnet dev-certs https --trust
поддерживается только в macOS и Windows. Необходимо доверять сертификатам в Linux таким образом, как поддерживается дистрибутивом. Скорее всего, необходимо доверять сертификату в браузере.
В предыдущих командах замените <CREDENTIAL_PLACEHOLDER>
пароль.
Запустите образ контейнера с ASP.NET Core, настроенным для HTTPS:
docker pull mcr.microsoft.com/dotnet/samples:aspnetapp
docker run --rm -it -p 8000:80 -p 8001:443 -e ASPNETCORE_URLS="https://+;http://+" -e ASPNETCORE_HTTPS_PORTS=8001 -e ASPNETCORE_Kestrel__Certificates__Default__Password="<CREDENTIAL_PLACEHOLDER>" -e ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx -v ${HOME}/.aspnet/https:/https/ mcr.microsoft.com/dotnet/samples:aspnetapp
В приведенном выше коде замените <CREDENTIAL_PLACEHOLDER>
пароль. Пароль должен совпадать с паролем, используемым для сертификата.
Создайте сертификат и настройте локальный компьютер:
dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p <CREDENTIAL_PLACEHOLDER>
dotnet dev-certs https --trust
В предыдущих командах замените <CREDENTIAL_PLACEHOLDER>
пароль. При использовании PowerShell замените %USERPROFILE%
на $env:USERPROFILE
.
Запустите образ контейнера с ASP.NET Core, настроенным для HTTPS:
docker pull mcr.microsoft.com/dotnet/samples:aspnetapp
docker run --rm -it -p 8000:80 -p 8001:443 -e ASPNETCORE_URLS="https://+;http://+" -e ASPNETCORE_HTTPS_PORTS=8001 -e ASPNETCORE_Kestrel__Certificates__Default__Password="<CREDENTIAL_PLACEHOLDER>" -e ASPNETCORE_Kestrel__Certificates__Default__Path=c:\https\aspnetapp.pfx -v %USERPROFILE%\.aspnet\https:C:\https\ --user ContainerAdministrator mcr.microsoft.com/dotnet/samples:aspnetapp
ПРИМЕЧАНИЕ.<CREDENTIAL_PLACEHOLDER>
Это заполнитель Kestrel для пароля сертификатов по умолчанию.
Пароль должен совпадать с паролем, используемым для сертификата. При использовании PowerShell замените %USERPROFILE%
на $env:USERPROFILE
.
Сведения о разработке приложений ASP.NET Core с помощью Docker по протоколу HTTPS см. в статье о разработке приложений ASP.NET Core с помощью HTTPS в контейнерах Docker.
dotnet dev-certs
Отзыв о ASP.NET Core
ASP.NET Core — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв:
События
Чемпионат мира Power BI DataViz
14 февр., 16 - 31 мар., 16
С 4 шансами войти, вы можете выиграть пакет конференции и сделать его в LIVE Grand Finale в Лас-Вегасе
Подробнее