如何在Docker容器中为Stimulsoft BI Server配置HTTPS安全访问
在 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 均为演示用,实际部署时请根据您的环境进行调整。