如何在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 容器

  1. 在存放 Docker 配置的目录下新建一个文件夹stimulsoft-server;

  2. 将生成的证书(如aspnetapp.pfx)复制到该文件夹中;

  3. 编辑docker-compose.yml文件,配置 HTTPS 所需的环境变量:

environment:
  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

同时在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: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"

总结

通过在 Docker 容器中为 Stimulsoft BI Server 配置 HTTPS,可以有效提升系统的安全性和用户信任度。在开发阶段,您可以使用本地自签名证书进行快速测试;但在生产环境中,请务必使用权威机构签发的证书。

以上示例中的端口号、证书文件名、密码及 URL 均为演示用,实际部署时请根据您的环境进行调整。

posted @ 2025-09-12 11:42  IT开发者笔记  阅读(26)  评论(0)    收藏  举报