Bitwarden 帮助中心中文版
⮐ Bitwarden Help Center个人主页联系我
  • 关于
  • 首页
  • 发布记录
  • 账户
    • 创建 Bitwarden 账户
    • 登录 & 解锁
      • 主密码
      • 忘记主密码
      • 新设备登录保护
      • 使用 SSO 登录
      • 使用设备登录
      • 使用通行密钥登录 (Beta)
      • 账户切换
      • 使用 PIN 码解锁
      • 使用生物识别解锁
      • 密码库超时选项
    • 两步登录
      • 两步登录现场指南
      • 两步登录方式
      • 设置指南
        • 两步登录 - 验证器
        • 两步登录 - 电子邮箱
        • 两步登录 - Duo
        • 两步登录 - YubiKey
        • 两步登录 - 通行密钥
      • 恢复代码
      • 丢失了辅助设备
      • 两步登录 FAQ
    • 更多
      • 紧急访问
      • 本地化
      • *异常流量错误
  • Password Manager
    • Password Manager 概述
    • 入门
      • Password Manager 网页 App
      • Password Manager 浏览器扩展
      • Password Manager 移动 App
      • Password Manager 桌面 App
    • 密码库基础
      • 密码库项目
      • 用户名 & 密码生成器
      • 自定义字段
      • 集成的验证器
      • 文件附件
      • 共享
      • 集合
      • 存储通行密钥
      • *通行密钥 FAQ
    • 密码库管理
      • 文件夹
      • 收藏
      • 同步密码库
      • 检索密码库
      • 密码库健康报告
    • 导入 & 导出
      • 导入数据到密码库
      • 导入指南
        • 从 LastPass 导入
        • 从 1Password 导入
        • 从 Keeper 导入
        • 从 Dashlane 导入
        • 从 Google Chrome 导入
        • 从 macOS & Safari 导入
        • 从 Firefox 导入
        • 从 Password Safe 导入
        • 从 Myki 导入
      • 导出密码库数据
      • 加密导出
      • 调整 Bitwarden .csv 或 .json
      • *Bitwarden 导入器工具
      • 导入 & 导出 FAQ
    • 自动填充
      • 自动填充基础
        • 在浏览器扩展中自动填充登录
        • 在 Android 上自动填充登录
        • 在 iOS 上自动填充登录
        • 自动填充支付卡和身份
        • 自动填充自定义字段
      • 使用 URI
      • 屏蔽自动填充
      • 基本验证提示
      • 键盘快捷键
      • 禁用浏览器的内置密码管理器
      • Android 自动填充故障排除
      • 自动填充 FAQ
    • Bitwarden Send
      • 关于 Send
      • 创建 Send
      • 接收 Send
      • Send 生命周期
      • Send 隐私
      • CLI 上的 Send
      • Send 加密
      • Send FAQ
    • 开发者工具
      • Password Manager API
      • Password Manager CLI
      • CLI 身份验证挑战
      • 用于 CLI 验证的个人 API 密钥
      • SSH 代理
    • 更多
      • Password Manager FAQ
      • 更改 App 主题
      • DuckDuckGo macOS 浏览器集成
      • Apple Watch 上的 Bitwarden
      • 在 Firefox 隐私窗口中使用 Bitwarden
      • 离线使用 Bitwarden
      • 排除域名
      • Safari 网页扩展
      • uMatrix 和 NoScript 访问规则
      • 与 Bitwarden 支持排除移动端故障
  • Bitwarden Authenticator
    • Bitwarden Authenticator
    • 导入 & 导出
    • FAQ
  • Secrets Manager
    • Secrets Manager 概述
    • 入门
      • Secrets Manager 快速入门
      • 开发人员快速入门
      • 登录 Secrets Manager
      • 管理您的组织
    • 您的机密
      • 工程
      • 机密
      • 机器账户
      • 访问令牌
      • 机密解密
    • 导入 & 导出
      • 导入数据
      • 导出数据
    • 开发人员工具
      • Secrets Manager CLI
      • Secrets Manager SDK
    • 集成
      • Ansible
      • GitHub Actions
      • GitLab CI/CD
      • Secrets Manager Kubernetes Operator
    • 更多
      • Secrets Manager FAQ
  • 管理控制台
    • 组织快速入门
    • 组织基础
      • 组织
      • 集合
      • 群组
      • 企业策略
      • 集合管理
    • 用户管理
      • 用户管理
      • 成员角色和权限
      • 声明域名
      • 声明账户
      • 账户恢复
      • SCIM
        • 关于 SCIM
        • JumpCloud SCIM 集成
        • Microsoft Entra ID SCIM 集成
        • Okta SCIM 集成
        • OneLogin SCIM 集成
        • Ping Identity SCIM 集成
      • 目录连接器
        • 关于目录连接器
        • 目录连接器桌面 App
        • 目录连接器 CLI
        • 目录连接器文件存储
        • 同步选项和筛选器
        • 清除同步缓存
        • 调度同步
        • 使用 AD 或 LDAP 同步
        • 使用 Microsoft Entra ID 同步
        • 使用 Google Workspace 同步
        • 使用 Okta 同步
        • 使用 OneLogin 同步
      • 入职和继任概述
    • 导入 & 导出
      • 导入数据到组织
      • 导出密码库数据
      • 调整 Bitwarden .csv 或 .json
    • SSO 登录
      • 关于 SSO 登录
      • SAML 2.0 配置
      • OIDC 配置
      • 成员解密选项
      • 声明域名
      • 实施指南
        • ADFS SAML 实施
        • Auth0 SAML 实施
        • AWS SAML 实施
        • Duo SAML 实施
        • Google SAML 实施
        • JumpCloud SAML 实施
        • Keycloak SAML 实施
        • Microsoft Entra ID SAML 实施
        • Okta SAML 实施
        • OneLogin SAML 实施
        • Ping Identity SAML 实施
        • ADFS OIDC 实施
        • Microsoft Entra ID OIDC 实施
        • Okta OIDC 实施
        • Ping Identity OIDC 实施
        • Cloudflare Zero Trust SSO 实施
      • 受信任设备
        • 关于受信任设备
        • 设置受信任设备 SSO
        • 添加受信任设备
        • 批准受信任设备
      • Key Connector
        • 关于 Key Connector
        • 部署 Key Connector
      • *在您的 IdP 上配置 Bitwarden(SAML 2.0)
      • SSO 登录 FAQ
    • 报告
      • 密码库健康报告
      • 事件日志
      • Elastic SIEM
      • Microsoft Sentinel SIEM
      • Panther SIEM
      • Rapid7 SIEM
      • Splunk SIEM
    • 最终用户入职
      • 关于本章节
      • 欢迎电子邮件模板
      • 管理团队入职电子邮件
      • 最终用户采用电子邮件
      • 客户激活套件
      • 入职流程
    • 部署客户端 App
      • 部署浏览器扩展
        • 使用 GPO、Linux 策略和 .plist 文件部署浏览器扩展
        • 使用 Intune 部署浏览器扩展
      • 部署桌面端 App
        • 使用 Intune 部署桌面端 App
      • 部署移动端 App
        • 使用 Intune 部署移动端 App
      • 为您的服务器配置客户端
      • 使用设备管理停用浏览器密码管理器
    • Bitwarden 公共 API
    • 更多
      • 组织 FAQ
      • 链接到项目
      • 企业版 Bitwarden 功能数据表
      • 团队版和企业版迁移指南
      • LastPass 企业版迁移指南
      • 组织所有者离职时的访问权限管理
      • PoC 项目清单
      • 为生产准备试用组织
      • *团队版 Bitwarden 对比指南
  • 提供商门户
    • 提供商门户概览
    • 提供商门户快速入门
    • 提供商用户
    • 添加客户组织
    • *添加现有组织
    • 持续管理
    • 取消链接客户组织
    • 提供商事件日志
    • 提供商计费
    • 提供商 FAQ
    • 业务单元门户
      • 业务单元门户
      • 业务单元门户快速入门
  • 自托管
    • 安装 & 部署指南
      • Docker
        • Linux 标准部署
        • Linux 手动部署
        • Linux 离线部署
        • Windows 标准部署
        • Windows 离线部署
        • Unified 部署 (Beta)
      • Helm
        • 使用 Helm 自托管
        • Azure AKS 部署
        • OpenShift 部署
        • AWS EKS 部署
        • 添加 rawManifest 文件
    • 自托管组织
    • 迁移步骤
    • 证书选项
    • 配置环境变量
    • 数据库选项
    • 连接到外部 MSSQL 数据库
    • Kerberos 集成
    • 更新实例
    • 备份托管数据
    • 付费功能许可证
    • 系统管理员门户
    • 为服务器配置客户端
    • 连接客户端到实例
    • 自托管 SCIM
    • 自托管家庭赞助
    • 自托管 Send
    • 配置推送中继
    • *作为 MSP 部署 Bitwarden
    • 托管 FAQ
  • 安全
    • Bitwarden 安全白皮书
    • 密码库数据
    • 管理数据
    • 加密方式
    • KDF 算法
    • 账户加密密钥
    • 账户指纹短语
    • 数据存储
    • 合规、审计和认证
    • 服务器地理位置
    • 版本控制
    • 使用网站图标时的隐私
    • Bitwarden 软件发布支持
    • Bitwarden 的分包商
    • 来自 Bitwarden 的电子邮件
    • Bitwarden 地址
    • 安全 FAQ
  • 计划和定价
    • Password Manager
      • Password Manager 计划
      • 从个人升级到组织
      • 兑换家庭赞助
      • 高级会员续费
    • Secrets Manager
      • Secrets Manager 计划
      • 注册 Secrets Manager
    • Bitwarden 经销商
    • 开始企业版试用
    • 组织续费
    • 更新计费信息
    • 税费计算
    • 删除账户或组织
    • 取消订阅
    • 计费 FAQ
    • *更新 Bitwarden 计划 (2019-2020)
    • *更新 Password Manager 计划 & 订阅
    • *哪种计划适合我?
  • 学习中心
    • 关于学习中心
    • 使用 Bitwarden 的第一步
    • 了解 Password Manager
    • Password Manager
      • Bitwarden 入门:个人用户
      • Bitwarden 入门:管理员
      • Bitwarden 入门:成员
      • Bitwarden 入门:经销商或 MSP
    • Bitwarden 高级用户
    • 面向企业管理员的 Bitwarden
    • 了解 Secrets Manager
    • 面向 MSP 的 Bitwarden
    • 了解 Passwordless.dev
  • *杂项
    • 11 月弃用通知
    • Bitwarden 术语表
    • 迁移脚本
    • Bitwarden 101 视频系列-入门
    • Secrets Manager Beta 版注册
    • 未分配的密码库项目已移至管理控制台
    • 原生移动 App
  • 附录
    • 翻译约定
    • 资源
由 GitBook 提供支持
在本页
  • 要求
  • 嵌套虚拟化
  • 安装步骤
  • 配置您的域名
  • 创建 Bitwarden 本地用户和目录
  • 配置您的机器
  • 下载和传输镜像
  • 启动您的服务器
  • 下一步
  • 更新您的服务器
  1. 自托管
  2. 安装 & 部署指南
  3. Docker

Windows 离线部署

上一页Windows 标准部署下一页Unified 部署 (Beta)

最后更新于1个月前

对应的

这篇文章将指导您在离线或网闸环境中安装和部署 Bitwarden 到您自己的 Windows 服务器。请查看 Bitwarden 文档。

[译者注]: (air-gapped) 网络,是指与外部网络(如互联网或其他外部系统)完全隔离的计算机网络。这种隔离通过物理或逻辑手段实现,确保网络无法与外部环境进行数据交换,从而增强安全性。

手动安装仅适合高级用户使用。仅当您非常熟悉 Docker 技术,并且希望对您的 Bitwarden 安装进行更多控制时才可以进行此操作。

手动安装缺乏自动更新 Bitwarden 安装所需的某些依赖项的能力。当您将 Bitwarden 从一个版本升级到下一个版本时,您将负责修改所需的环境变量,修改 nginx 的 default.conf,修改 docker-compose.yml 等等。

我们会尽量在 中强调这些。您也可以在 GitHub 上监控 Bitwarden 安装脚本所使用的的更改。

要求

最低
推荐

处理器

x64, 1.4GHz

x64, 2GHz 双核

内存

2GB RAM

4GB RAM

存储

12GB

25GB

Docker 版本

Engine 26+ 以及 Compose ª

Engine 26+ 以及 Compose ª

ª - 下载 Docker Engine 时,Docker Compose 会作为插件自动安装。。

另外,请确保满足以下要求:

  • 使用具有 Internet 访问权限的机器,您已经从 Bitwarden 服务器存储库的下载了最新的 docker-stub.zip 或 docker-stub-EU.zip 文件,并已将该文件传输到您的服务器。

  • 离线 SMTP 服务器已在您的环境中设置并处于活动状态。

运行您的 Bitwarden 部署的服务器不需要允许出站流量访问网络外部的任何地址,但客户端应用程序必须配置为访问服务器的完全限定域名 (FQDN),默认情况下使用端口 80 和 443。在安装过程中,您可以选择使用不同的端口,但无论选择哪个端口,都必须开放这些端口以供客户端访问。

[译者注]::即完全限定域名 (Fully Qualified Domain Name),是互联网上用于标识特定主机或服务器的完整域名。它由主机名和域名组成,确保在全球范围内唯一地定位到一个网络资源。FQDN 从最具体的部分(主机名)到最一般的部分(顶级域名)依次排列,各部分之间用点(.)分隔。

例如,一个典型的 FQDN mail.example.com :

  • mail 是主机名,指定了特定的服务器或服务。

  • example.com 是域名,指定了该主机所属的组织或实体。

  • .com 是顶级域名 (TLD),表示这是一个商业实体。

嵌套虚拟化

在 Windows 服务器上运行 Bitwarden 需要使用嵌套虚拟化。请检查您的 Hypervisor 文档以了解是否支持嵌套虚拟化以及如何启用它。

安装步骤

配置您的域名

默认情况下,Bitwarden 通过主机上的 80 (http) 和 443 (https) 端口提供服务。打开这些端口,以便可以从网络内部和/或外部访问 Bitwarden。您也可以在安装过程中选择不同的端口。

如果您使用的是 Windows 防火墙,则 Docker Desktop for Windows 不会自动在 Windows 防火墙中为其自己添加例外。为 TCP 端口 80 和 443(或选择的备用端口)添加例外以避免相关错误。

我们建议使用指向您的主机的 DNS 记录配置域名(例如,bitwarden.example.com),尤其是当您通过 Internet 提供 Bitwarden 服务时。

创建 Bitwarden 本地用户和目录

打开 PowerShell 并通过运行以下命令创建一个 Bitwarden 本地用户:

PS C:\> $Password = Read-Host -AsSecureString

运行上述命令后,在文本输入对话框中输入所需的密码。指定密码后,运行以下命令:

New-LocalUser "Bitwarden" -Password $Password -Description "Bitwarden Local Admin"

作为新创建的用户,在 C:\ 下创建一个 Bitwarden 文件夹:

PS C:\> mkdir Bitwarden

安装 Docker Desktop 后,导航至 Settings → Resources → File Sharing 然后将已创建的目录 (C:\Bitwarden) 添加到资源列表。选择 Apply & Restart 以应用您的更改。

配置您的机器

要使用 Bitwarden 服务器所需的资产配置您的机器:

1、在 C:\Bitwarden 中创建一个名为 bwdata 的新目录,并将 docker-stub.zip 解压到其中,例如:

解压缩后,bwdata 目录需要与 docker-compose.yml 文件的卷映射所期望的目录相匹配。如果您愿意,您也可以更改这些映射在主机上的位置。

2、编辑 bwdata\env\global.override.env 中的以下环境变量:

  • globalSettings__baseServiceUri__vault=:输入您的 Bitwarden 实例的域名。

  • globalSettings__sqlServer__ConnectionString=:将 RANDOM_DATABASE_PASSWORD 替换为在后续步骤中使用的安全密码。

  • globalSettings__identityServer__certificatePassword:设置一个在后续步骤中使用的安全的证书密码。

  • globalSettings__internalIdentityKey=:将 RANDOM_IDENTITY_KEY 替换为随机密钥字符串。

  • globalSettings__oidcIdentityClientKey=:将 RANDOM_IDENTITY_KEY 替换为随机密钥字符串。

  • globalSettings__duo__aKey=:将 RANDOM_DUO_AKEY 替换为随机密钥字符串。

3、为身份容器生成一个 identity.pfx 证书。您可以使用 OpenSSL 或使用任何工具来生成自签名证书。如果您使用的是 OpenSSL,请运行以下命令:

openssl req -x509 -newkey rsa:4096 -sha256 -nodes -keyout identity.key -out identity.crt -subj "/CN=Bitwarden IdentityServer" -days 10950

然后

openssl pkcs12 -export -out ./identity/identity.pfx -inkey identity.key -in identity.crt -passout pass:IDENTITY_CERT_PASSWORD

在上述命令中,将 IDENTITY_CERT_PASSWORD 替换为在步骤 2 中创建和使用的证书密码。

4、将 identity.pfx 移动到映射的卷目录(默认为 .\bwdata\identity)

5、将 identity.pfx 复制到 .\bwdata\ssl 目录。

6、在 .\bwdata\ssl 中创建一个以您的域命名的子目录。

7、在新创建的 .\bwdata\ssl\bitwarden.example.com 子目录中提供受信任的 SSL 证书和私钥。

此目录映射到 NGINX 容器的 \etc\ssl 目录。如果您无法提供受信任的 SSL 证书,请在安装前使用代理,以为 Bitwarden 客户端应用程序提供一个 HTTPS 端点。

8、在 .\bwdata\nginx\default.conf 中:

  1. 将所有实例的 bitwarden.example.com 替换为您的域名,包括 Content-Security-Policy 标头。

  2. 将 ssl_certificate 和 ssl_certificate_key 变量设置为步骤 7 中提供的证书和私钥的路径。

  3. 根据您的证书设置,执行以下操作之一:

    • 如果您使用受信任的 SSL 证书,请将 ssl_trusted_certificate 变量设置为证书的路径。

    • 如果您使用自签名证书,请注释掉 ssl_trusted_certificate 变量。

9、在 .\bwdata\env\mssql.override.env 中,将 RANDOM_DATABASE_PASSWORD 替换为在步骤 2 中创建的密码。

10、在 .\bwdata\web\app-id.json 中,将 bitwarden.example.com 替换为您的域名。

下载和传输镜像

要获取 docker 镜像以在离线机器上使用:

1、从已连接互联网的机器上,下载如 docker-stub.zip 中的 docker-compose.yml 文件中所列的所有 bitwarden/xxx:latest docker 镜像,。

2、将每一个镜像保存为 .img 文件,例如:

docker image save -o mssql.img bitwarden/mssql:version

3、将所有 .img 文件传输到您的离线计机器上。

4、在离线机器上,加载每一个 .img 文件以创建本地 docker 映像,例如:

docker image load mssql.img

启动您的服务器

使用以下命令启动您的 Bitwarden 服务器:

docker-compose -f ./docker/docker-compose.yml up -d

验证所有容器是否正常运行:

docker ps

恭喜! Bitwarden 现已启动并运行在 https://your.domain.com 了。在您的浏览器中访问网络密码库以确认其正常工作。

下一步

更新您的服务器

  1. 将此新的 docker-stub.zip 存档解压缩并将其内容与当前 bwdata 目录中的内容进行比较,将任何新内容复制到 bwdata 中预先存在的文件中。 不要使用此较新的 docker-stub.zip 存档的内容直接覆盖您预先存在的 bwdata 目录,因为这会覆盖您已经完成的任何自定义配置工作。

  2. 运行以下命令以使用已更新的配置和最新的容器重新启动服务器:

    docker-compose -f ./docker/docker-compose.yml down && docker-compose -f ./docker/docker-compose.yml up -d

如果您将 Windows Server 作为 Azure VM 运行,我们建议使用运行 Windows Server 2019 Gen2 的标准 D2s v3 虚拟机,它满足所有,包括对嵌套虚拟化的支持。

如果您,请以 bitwarden 用户身份完成以下操作。

globalSettings__installation__id=:输入从 获取到的安装 ID。

globalSettings__installation__key=:输入从 获取到的安装密钥。

globalSettings__pushRelayBaseUri=:这个变量应该是空。有关详细信息,请参阅。

此时,还要考虑为所有 globalSettings__mail__smtp__ 变量和 adminSettings__admins 设置值。这样做将配置用于向新组织成员发送邀请的 SMTP 邮件服务器,并提供对的访问权限。

。

您现在可以注册一个新账户并登录了。您需要配置 SMPT 环境变量(请参阅)以验证您的新账户的电子邮箱。

如果您打算自托管一个 Bitwarden 组织,请参阅以开始。

如需了解更多信息,请参阅。

更新已手动安装和部署的自托管服务器与有所不同。要更新您手动安装的服务器:

从 下载最新的 docker-stub.zip 存档。

官方文档地址
软件发布支持
网闸
GitHub 上的发行说明
依赖模板
为 Engine 和 Compose 安装 Docker Desktop
发行页面
FQDN
https://bitwarden.com/host
https://bitwarden.com/host
配置推送中继
系统管理员门户
了解有关环境变量的更多信息
环境变量
自托管组织
自托管 FAQ
标准更新过程
GitHub 发行页面
系统规格要求
已创建 Bitwarden 用户和目录
显示健康容器的列表