Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ASP.NET Core varsayılan olarak HTTPS kullanır.
Bu belgede, HTTPS ile önceden oluşturulmuş kapsayıcı görüntülerinin nasıl çalıştırılacakları açıklanmaktadır.
Geliştirme senaryoları için bkz . HTTPS üzerinden Docker ile ASP.NET Core Uygulamaları Geliştirme.
Bu örnek, Docker istemcisinin Docker 17.06 veya sonraki bir sürümünü gerektirir.
Önkoşullar
Bu belgedeki bazı yönergeler için .NET Core 2.2 SDK veya üzeri gereklidir.
Sertifikalar
Bir etki alanı için üretim barındırma için sertifika yetkilisinden bir sertifika gereklidir. Let's Encrypt ücretsiz sertifikalar sunan bir sertifika yetkilisidir.
Bu belge, üzerinde önceden oluşturulmuş görüntüleri barındırmak için otomatik olarak imzalanan geliştirme sertifikalarınılocalhost. Yönergeler, üretim sertifikalarını kullanmaya benzer.
Üretim sertifikaları için:
- Araç
dotnet dev-certsgerekli değildir. - Sertifikaların yönergelerde kullanılan konumda depolanması gerekmez. Sertifikaları site dizini dışında herhangi bir konumda depolayın.
Aşağıdaki bölümde yer alan yönergeler birim bağlama sertifikaları docker-compose.yml özelliğini kullanarak volumes kapsayıcılara bağlar. DockerfileCOPYbir komutla kapsayıcı görüntülerine sertifika ekleyebilirsiniz, ancak önerilmez. Aşağıdaki nedenlerden dolayı sertifikaların bir görüntüye kopyalanması önerilmez:
- Geliştirici sertifikalarıyla test etmek için aynı görüntüyü kullanmayı zorlaştırır.
- Üretim sertifikalarıyla barındırma için aynı görüntüyü kullanmayı zorlaştırır.
- Sertifikanın açığa çıkması önemli bir risktir.
Docker compose kullanarak https desteğiyle kapsayıcı başlatma
İşletim sistemi yapılandırmanız için aşağıdaki yönergeleri kullanın.
Linux kapsayıcılarını kullanan Windows
Sertifika oluşturma ve yerel makineyi yapılandırma:
dotnet dev-certs https -ep "$env:USERPROFILE\.aspnet\https\aspnetapp.pfx" -p $CREDENTIAL_PLACEHOLDER$
dotnet dev-certs https --trust
.NET CLI kullanan önceki komut:
dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p $CREDENTIAL_PLACEHOLDER$
dotnet dev-certs https --trust
Önceki komutlarda yerine parola yazın $CREDENTIAL_PLACEHOLDER$ .
Aşağıdaki içeriğe sahip bir docker-compose.debug.yml dosyası oluşturun:
version: '3.4'
services:
webapp:
image: mcr.microsoft.com/dotnet/samples:aspnetapp
ports:
- 80
- 443
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=https://+:443;http://+:80
- ASPNETCORE_Kestrel__Certificates__Default__Password=-\0pw-
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx
volumes:
- ~/.aspnet/https:/https:ro
Docker compose dosyasında belirtilen parola, sertifika için kullanılan parolayla eşleşmelidir.
KAPSAYıCıyı HTTPS için yapılandırılmış ASP.NET Core ile başlatın:
docker-compose -f "docker-compose.debug.yml" up -d
macOS veya Linux
Sertifika oluşturma ve yerel makineyi yapılandırma:
dotnet dev-certs https -ep ${HOME}/.aspnet/https/aspnetapp.pfx -p $CREDENTIAL_PLACEHOLDER$
dotnet dev-certs https --trust
Linux'ta dotnet dev-certs https --trust .NET 9 veya üzeri SDK gerektirir. Linux üzerinde .NET 8.0.401 veya önceki SDK için, sertifikaya güvenmek üzere Linux dağıtımınızın belgelerine bakın.
Önceki komutlarda yerine parola yazın $CREDENTIAL_PLACEHOLDER$ .
Aşağıdaki içeriğe sahip bir docker-compose.debug.yml dosyası oluşturun:
version: '3.4'
services:
webapp:
image: mcr.microsoft.com/dotnet/samples:aspnetapp
ports:
- 80
- 443
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=https://+:443;http://+:80
- ASPNETCORE_Kestrel__Certificates__Default__Password=-\0pw-
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx
volumes:
- ~/.aspnet/https:/https:ro
Docker compose dosyasında belirtilen parola, sertifika için kullanılan parolayla eşleşmelidir.
KAPSAYıCıyı HTTPS için yapılandırılmış ASP.NET Core ile başlatın:
docker-compose -f "docker-compose.debug.yml" up -d
Windows kapsayıcılarını kullanan Windows
Sertifika oluşturma ve yerel makineyi yapılandırma:
dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p $CREDENTIAL_PLACEHOLDER$
dotnet dev-certs https --trust
Önceki komutlarda yerine parola yazın $CREDENTIAL_PLACEHOLDER$ .
Aşağıdaki içeriğe sahip bir docker-compose.debug.yml dosyası oluşturun:
version: '3.4'
services:
webapp:
image: mcr.microsoft.com/dotnet/samples:aspnetapp
ports:
- 80
- 443
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=https://+:443;http://+:80
- ASPNETCORE_Kestrel__Certificates__Default__Password=-\0pw-
- ASPNETCORE_Kestrel__Certificates__Default__Path=C:\https\aspnetapp.pfx
volumes:
- ${USERPROFILE}\.aspnet\https:C:\https:ro
Docker compose dosyasında belirtilen parola, sertifika için kullanılan parolayla eşleşmelidir.
KAPSAYıCıyı HTTPS için yapılandırılmış ASP.NET Core ile başlatın:
docker-compose -f "docker-compose.debug.yml" up -d
Ayrıca bkz.
ASP.NET Core varsayılan olarak HTTPS kullanır.
Bu belgede, HTTPS ile önceden oluşturulmuş kapsayıcı görüntülerinin nasıl çalıştırılacakları açıklanmaktadır.
Geliştirme senaryoları için bkz . HTTPS üzerinden Docker ile ASP.NET Core Uygulamaları Geliştirme.
Bu örnek, Docker istemcisinin Docker 17.06 veya sonraki bir sürümünü gerektirir.
Önkoşullar
Bu belgedeki bazı yönergeler için .NET Core 2.2 SDK veya üzeri gereklidir.
Sertifikalar
Bir etki alanı için üretim barındırma için sertifika yetkilisinden bir sertifika gereklidir. Let's Encrypt ücretsiz sertifikalar sunan bir sertifika yetkilisidir.
Bu belge, üzerinde önceden oluşturulmuş görüntüleri barındırmak için otomatik olarak imzalanan geliştirme sertifikalarınılocalhost. Yönergeler, üretim sertifikalarını kullanmaya benzer.
Üretim sertifikaları için:
- Araç
dotnet dev-certsgerekli değildir. - Sertifikaların yönergelerde kullanılan konumda depolanması gerekmez. Sertifikaları site dizini dışında herhangi bir konumda depolayın.
Aşağıdaki bölümde yer alan yönergeler birim bağlama sertifikaları docker-compose.yml özelliğini kullanarak volumes kapsayıcılara bağlar. DockerfileCOPYbir komutla kapsayıcı görüntülerine sertifika ekleyebilirsiniz, ancak önerilmez. Aşağıdaki nedenlerden dolayı sertifikaların bir görüntüye kopyalanması önerilmez:
- Geliştirici sertifikalarıyla test etmek için aynı görüntüyü kullanmayı zorlaştırır.
- Üretim sertifikalarıyla barındırma için aynı görüntüyü kullanmayı zorlaştırır.
- Sertifikanın açığa çıkması önemli bir risktir.
Docker compose kullanarak https desteğiyle kapsayıcı başlatma
İşletim sistemi yapılandırmanız için aşağıdaki yönergeleri kullanın.
Linux kapsayıcılarını kullanan Windows
Sertifika oluşturma ve yerel makineyi yapılandırma:
dotnet dev-certs https -ep "$env:USERPROFILE\.aspnet\https\aspnetapp.pfx" -p $CREDENTIAL_PLACEHOLDER$
dotnet dev-certs https --trust
.NET CLI kullanan önceki komut:
dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p $CREDENTIAL_PLACEHOLDER$
dotnet dev-certs https --trust
Önceki komutlarda yerine parola yazın $CREDENTIAL_PLACEHOLDER$ .
Aşağıdaki içeriğe sahip bir docker-compose.debug.yml dosyası oluşturun:
version: '3.4'
services:
webapp:
image: mcr.microsoft.com/dotnet/samples:aspnetapp
ports:
- 80
- 443
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=https://+:443;http://+:80
- ASPNETCORE_Kestrel__Certificates__Default__Password=-\0pw-
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx
volumes:
- ~/.aspnet/https:/https:ro
Docker compose dosyasında belirtilen parola, sertifika için kullanılan parolayla eşleşmelidir. Önceki komutlarda yerine parola yazın -\0pw- .
KAPSAYıCıyı HTTPS için yapılandırılmış ASP.NET Core ile başlatın:
docker-compose -f "docker-compose.debug.yml" up -d
macOS veya Linux
Sertifika oluşturma ve yerel makineyi yapılandırma:
dotnet dev-certs https -ep ${HOME}/.aspnet/https/aspnetapp.pfx -p $CREDENTIAL_PLACEHOLDER$
dotnet dev-certs https --trust
dotnet dev-certs https --trust yalnızca macOS ve Windows'ta desteklenir. Linux'taki sertifikalara dağıtımınız tarafından desteklenen şekilde güvenmeniz gerekir. Tarayıcınızda sertifikaya güvenmeniz gerekebilir.
Önceki komutlarda yerine parola yazın $CREDENTIAL_PLACEHOLDER$ .
Aşağıdaki içeriğe sahip bir docker-compose.debug.yml dosyası oluşturun:
version: '3.4'
services:
webapp:
image: mcr.microsoft.com/dotnet/samples:aspnetapp
ports:
- 80
- 443
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=https://+:443;http://+:80
- ASPNETCORE_Kestrel__Certificates__Default__Password=password
- ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx
volumes:
- ~/.aspnet/https:/https:ro
Docker compose dosyasında belirtilen parola, sertifika için kullanılan parolayla eşleşmelidir.
KAPSAYıCıyı HTTPS için yapılandırılmış ASP.NET Core ile başlatın:
docker-compose -f "docker-compose.debug.yml" up -d
Windows kapsayıcılarını kullanan Windows
Sertifika oluşturma ve yerel makineyi yapılandırma:
dotnet dev-certs https -ep %USERPROFILE%\.aspnet\https\aspnetapp.pfx -p $CREDENTIAL_PLACEHOLDER$
dotnet dev-certs https --trust
Önceki komutlarda yerine parola yazın $CREDENTIAL_PLACEHOLDER$ .
Aşağıdaki içeriğe sahip bir docker-compose.debug.yml dosyası oluşturun:
version: '3.4'
services:
webapp:
image: mcr.microsoft.com/dotnet/samples:aspnetapp
ports:
- 80
- 443
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=https://+:443;http://+:80
- ASPNETCORE_Kestrel__Certificates__Default__Password=-\0pw-
- ASPNETCORE_Kestrel__Certificates__Default__Path=C:\https\aspnetapp.pfx
volumes:
- ${USERPROFILE}\.aspnet\https:C:\https:ro
The password specified in the docker compose file must match the password used for the certificate. In the preceding commands, replace `-\0pw-` with a password.
Start the container with ASP.NET Core configured for HTTPS:
```console
docker-compose -f "docker-compose.debug.yml" up -d
Ayrıca bkz.
ASP.NET Core