在?Stimulsoft BI Server 2025.3.1?版本中,新增了在?Docker 容器中運行 BI Server 的能力。本文將為大家介紹如何在容器環境中為 BI Server 配置?HTTPS 協議的數據傳輸,從而實現安全、加密的訪問。
為什么需要 HTTPS?
**HTTPS(SSL/TLS 證書)**能夠在客戶端和服務器之間建立加密連接,確保數據傳輸安全,同時驗證網站的真實性。
-
數據保護:防止敏感數據在傳輸過程中被竊取或篡改;
-
用戶信任:瀏覽器中的鎖形圖標代表連接安全;
-
合規要求:滿足行業安全標準與合規要求。
在 .NET 環境中,可以選擇使用?本地自簽名證書(開發/測試環境適用)或?權威機構頒發的證書(生產環境必須使用)。
生成本地證書
在開發測試階段,可以通過以下命令生成一個本地.pfx證書:
dotnet dev-certs https -ep d:/aspnetapp.pfx -p 123456
參數說明:
-
-ep?指定證書保存路徑
-
-p?設置證書密碼
?? 注意:此證書僅適用于開發和測試環境。在生產環境中,請務必使用權威 CA 頒發的正式證書。
配置證書到 Docker 容器
-
在存放 Docker 配置的目錄下新建一個文件夾stimulsoft-server;
-
將生成的證書(如aspnetapp.pfx)復制到該文件夾中;
-
編輯docker-compose.yml文件,配置 HTTPS 所需的環境變量:
environment:ASPNETCORE_HTTPS_PORTS: 8081Urls: "https://*:8081;http://*:8080"ASPNETCORE_Kestrel__Certificates__Default__Path: "/var/lib/stimulsoft-server/aspnetapp.pfx"ASPNETCORE_Kestrel__Certificates__Default__Password: 123456
同時在volumes中添加掛載目錄:
volumes:- ./stimulsoft-server:/var/lib/stimulsoft-server
啟動容器
執行以下命令啟動服務:
docker-compose up
此時:
-
可通過?HTTPS?協議訪問:https://localhost:8081
-
也可通過?HTTP?協議訪問:http://localhost:8080
完整的 docker-compose.yml 示例
services:server:image: stimulsoft/server:devports:- 8080:8080- 8081:8081volumes:- ./stimulsoft-server:/var/lib/stimulsoft-serverenvironment:ASPNETCORE_HTTP_PORTS: 8080ASPNETCORE_HTTPS_PORTS: 8081Urls: "https://*:8081;http://*:8080"ASPNETCORE_Kestrel__Certificates__Default__Path: "/var/lib/stimulsoft-server/aspnetapp.pfx"ASPNETCORE_Kestrel__Certificates__Default__Password: 123456Storage__DatabaseType: "MySql"Storage__MySqlConnectionString: "Server=mysql; port=3306; Database=server; UserId=root; Pwd=root;"mysql:image: mysql:8.0ports:- 3306:3306volumes:- './mysql:/var/lib/mysql'environment:MYSQL_ROOT_PASSWORD: "root"MYSQL_DATABASE: "server"
總結
通過在 Docker 容器中為?Stimulsoft BI Server?配置 HTTPS,可以有效提升系統的安全性和用戶信任度。在開發階段,您可以使用本地自簽名證書進行快速測試;但在生產環境中,請務必使用權威機構簽發的證書。
以上示例中的端口號、證書文件名、密碼及 URL 均為演示用,實際部署時請根據您的環境進行調整。