In der Version 2025.3.1 haben wir die Funktionalität verwirklicht Stimulsoft BI Server in einem Docker-Container auszuführen. In diesem Artikel untersuchen wir die Datenübertragung über HTTPS-Protokoll.
HTTPS-Zertifikat
Ein HTTPS-Zertifikat (SSL/TLS) sorgt für eine sichere Verbindung zwischen Client und Server, bestätigt die Echtheit der Website und verschlüsselt die übertragenen Daten. In .NET kann man für die Entwicklung ein lokales selbstsigniertes Zertifikat oder ein von einer Zertifizierungsstelle erworbenes Zertifikat verwenden. Das Zertifikat ist erforderlich für die Sicherheit (Datenschutz), das Vertrauen der Benutzer (Schloss-Symbol im Webbrowser) und die Einhaltung von Standards. In der Entwicklung ist die Verwendung lokaler Zertifikate zulässig, die kostenlos erhalten werden können.Um ein lokales .pfx-Zertifikat in .NET zu erzeugen, reicht es aus, folgenden Befehl auszuführen:
terminal
dotnet dev-certs https -ep d:/aspnetapp.pfx -p 123456
In diesem Befehl wird der Speicherpfad für das Zertifikat und das Passwort angegeben. Achtung!Solches Zertifikat eignet sich für Entwicklung und Testzwecke. Für den produktiven Einsatz muss das Zertifikat jedoch bei einem offiziellen Zertifikatsanbieter erworben werden.
Zertifikatsverbindung
Man muss in den Ordner mit dem Docker-Container wechseln und dort den Ordner stimulsoft-server erstellen. Danach muss man das generierte Zertifikat in diesen Ordner kopieren.Danach soll die Datei docker-compose.yml bearbeitet werden, um die Parameter für die HTTPS-Nutzung hinzuzufügen. Es werden der Port für HTTPS-Anfragen, interne URLs (für die Produktion wird empfohlen, statt * reale Domains oder IP-Adressen anzugeben) sowie der Pfad zum Zertifikat und dessen Passwort angegeben:
docker-compose.yml
...
ASPNETCORE_HTTPS_PORTS: 8081
Urls: "https://*:8081;http://*:8080"
ASPNETCORE_Kestrel__Certificates__Default__Path: "/var/lib/stimulsoft-server/aspnetapp.pfx"
ASPNETCORE_Kestrel__Certificates__Default__Password: 123456
...
Falls das Verzeichnis mit den Serverdateien noch nicht hinzugefügt wurde, kann dies in der docker-compose.yml mit der Sektion volumes: erfolgen:docker-compose.yml
...
volumes:
- ./stimulsoft-server:/var/lib/stimulsoft-server
...
Dann muss man den Container mit dem folgenden Befehl ausführen: terminal
docker-compose up
Nun ist der Stimulsoft BI Server über HTTPS auf Port 8081 unter der Adresse https://localhost:8081 verfügbar. Für das HTTP-Protokoll ist der Server unter http://localhost:8080 verfügbar. Datei docker-compose.yml
Hier ist der vollständige Inhalt der Datei:docker-compose.yml
services:
server:
image: stimulsoft/server:dev
ports:
- 8080:8080
- 8081:8081
volumes:
- ./stimulsoft-server:/var/lib/stimulsoft-server
environment:
ASPNETCORE_HTTP_PORTS: 8080
ASPNETCORE_HTTPS_PORTS: 8081
Urls: "https://*:8081;http://*:8080"
ASPNETCORE_Kestrel__Certificates__Default__Path: "/var/lib/stimulsoft-server/aspnetapp.pfx"
ASPNETCORE_Kestrel__Certificates__Default__Password: 123456
Storage__DatabaseType: "MySql"
Storage__MySqlConnectionString: "Server=mysql; port=3306; Database=server; UserId=root; Pwd=root;"
mysql:
image: mysql:8.0
ports:
- 3306:3306
volumes:
- './mysql:/var/lib/mysql'
environment:
MYSQL_ROOT_PASSWORD: "root"
MYSQL_DATABASE: "server"
So ermöglicht die Einstellung von HTTPS im Docker-Container für den Stimulsoft BI Server eine sichere Verbindung zum Server. Für Testzwecke können lokal erstellte Zertifikate verwendet werden, aber für die Verwendung in einer produktiven Anwendung ein gültiges Zertifikat aus einer vertrauenswürdigen Zertifizierungsstelle erforderlich ist. Mit der vorliegenden Anleitung lässt sich der geschützte Zugriff auf Ihren Server schnell einrichten. Die Einstellungen für Ports, Zertifikatsname, Passwort und URLs dienen als Beispiel und können bei Bedarf durch Ihre eigenen Werte ersetzt werden.