update readme

This commit is contained in:
David Claeys 2025-04-03 16:14:05 +02:00
parent cdb65849dc
commit 60d8c32f20

View File

@ -38,7 +38,7 @@ docker build --build-arg CERT_PASSWORD=supersecretpassword . -t net-base
| Argument | Description | Default | | Argument | Description | Default |
|-----------------------------------------------------|-------------------------------------------------------------------------|----------------------------------------------------------------------------------------------| |-----------------------------------------------------|-------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
| CERT_PASSWORD | The password for the generated certificate | N/A (required) | | CERT_PASSWORD | The password for the generated certificate | N/A **(required)** |
| DOTNET_SDK_VERSION | The [SDK](https://mcr.microsoft.com/en-us/artifact/mar/dotnet/sdk/tags) version used to generate the development certificate | 9.0.202 | | DOTNET_SDK_VERSION | The [SDK](https://mcr.microsoft.com/en-us/artifact/mar/dotnet/sdk/tags) version used to generate the development certificate | 9.0.202 |
| DOTNET_RUNTIME_VERSION | The [runtime](https://mcr.microsoft.com/en-us/artifact/mar/dotnet/aspnet/tags) version used as a base | 9.0.3 | | DOTNET_RUNTIME_VERSION | The [runtime](https://mcr.microsoft.com/en-us/artifact/mar/dotnet/aspnet/tags) version used as a base | 9.0.3 |
| ALPINE_VERSION | The version of [alpine linux](https://www.alpinelinux.org/) used as a base <br/> Currently you can choose between `3.20` or `3.21` | 3.21 | | ALPINE_VERSION | The version of [alpine linux](https://www.alpinelinux.org/) used as a base <br/> Currently you can choose between `3.20` or `3.21` | 3.21 |
@ -71,11 +71,11 @@ ENTRYPOINT ["dotnet", "test.dll"]
### Security implications ### Security implications
This images uses the system provided by Microsoft to generate a development certificate and uses the [Kestrel](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/servers/?view=aspnetcore-9.0&tabs=windows) webserver. This images uses the system provided by Microsoft to generate a development certificate and uses the [Kestrel](https://learn.microsoft.com/en-us/aspnet/core/fundamentals/servers/?view=aspnetcore-9.0&tabs=windows) webserver.<br/>
In previous .NET versions it was not recommended to expose Kestrel directly to the internet, now Microsoft claims you can do that if you want so. In previous .NET versions it was not recommended to expose Kestrel directly to the internet, now Microsoft claims you can do that if you want so.,<br/>
However you never should use the included development certificate included in this image when doing so. However you never should use the included development certificate included in this image when doing so.
If you want to expose the Kestrel server you should use the **ASPNETCORE_Kestrel__Certificates__Default__Path**, **ASPNETCORE_Kestrel__Certificates__Default__KeyPath** and **ASPNETCORE_Kestrel__Certificates__Default__Password** variables to correclty setup a certificate. The _dotnet dev-certs_ command is not really suited for production environments. If you want to expose the Kestrel server you should use the **ASPNETCORE_Kestrel__Certificates__Default__Path**, **ASPNETCORE_Kestrel__Certificates__Default__KeyPath** and **ASPNETCORE_Kestrel__Certificates__Default__Password** variables to correclty setup a certificate. The certificate resulting from the _dotnet dev-certs_ command is not really suited for production environments.
In practice it's much easier to expose the server through a proxy to the public (hence the recommended method). In practice it's much easier to expose the server through a proxy to the public (hence the recommended method).
Depending on your use-case you event might consider to use docker networking in order to accomplish proper isolation. Depending on your use-case you event might consider to use docker networking in order to accomplish proper isolation.