Vaultwarden 1.37.1 修复 Bitwarden 浏览器插件登录”意外错误”——自部署完全指南

自部署 Vaultwarden 的同学,这两年大概率踩过一个坑:Bitwarden 官方浏览器插件登录自托管服务时,弹出”发生意外错误”,但服务端日志一切正常

我最近把 Vaultwarden 升级到 1.37.1 之后,这个问题彻底没了。这篇文章把整个排查过程、根本原因、完整修法一次性整理出来,顺带把宝塔反代必加的 WebSocket 配置也一起写上,免得你走我走过的弯路。


一、问题现象

  • Vaultwarden 容器启动正常,docker logs 看到 Rocket has launched from http://0.0.0.0:80
  • 宝塔反代 + SSL 一切正常,浏览器访问 web vault 没问题
  • 但是:Bitwarden 官方浏览器插件(Chrome / Edge / Firefox)填好自托管地址后,登录弹”发生意外错误”
  • 移动端 App、桌面客户端一般能登,问题集中在浏览器插件

二、根本原因

从 2024 年开始,Bitwarden 官方客户端(尤其是浏览器插件)逐步加入了客户端签名验证(RSA key fingerprint)新版本 API 字段。老版本 Vaultwarden(尤其是 1.30.0 之前的)对这部分协议支持不全,登录流程走到签名校验那一步就崩了。

但客户端把所有”看不懂”的错误都统一显示成“An unexpected error has occurred” / “发生意外错误”,真正的报错得在服务端日志里看。

结论:Vaultwarden 必须升到 1.30.0 以上,推荐直接用 1.37.1(2025 年最新稳定版)。


三、完整修法

方案 A:用 docker run(单容器,简单)

# 1. 停旧容器(数据卷保留,密码不会丢)
docker stop vaultwarden
docker rm vaultwarden

# 2. 拉最新镜像
docker pull vaultwarden/server:latest

# 3. 启动新容器
docker run -d \
 --name vaultwarden \
 --restart unless-stopped \
 -e SIGNUPS_ALLOWED=true \
 -e DOMAIN=https://vw.your-domain.com \
 -v /www/dk_project/dk_app/bitwarden/data:/data \
 -p 127.0.0.1:3567:80 \
vaultwarden/server:latest

参数说明:

  • SIGNUPS_ALLOWED=true:临时开启注册,先注册自己的账号
  • DOMAIN:必须填你真实访问的 https 域名,填错会触发 Mixed Content
  • 127.0.0.1:3567:80:只绑本地,通过宝塔反代对外,更安全

方案 B:用 docker compose(推荐,易维护)

/www/dk_project/dk_app/bitwarden/ 目录下新建 docker-compose.yml:

services:
vaultwarden:
  image: vaultwarden/server:latest
  container_name: vaultwarden
  restart: unless-stopped
  environment:
    DOMAIN: "https://vw.your-domain.com"
    SIGNUPS_ALLOWED: "true"
  volumes:
    - /www/dk_project/dk_app/bitwarden/data:/data
  ports:
    - 127.0.0.1:3567:80

然后:

cd /www/dk_project/dk_app/bitwarden
docker compose up -d
docker compose logs -f vaultwarden

看到 Rocket has launched from http://0.0.0.0:80 就是起来了。

升级完成后,别忘了关闭注册

注册完自己的账号后,改 SIGNUPS_ALLOWEDfalse 并重启:

# docker run 方式
docker stop vaultwarden
docker rm vaultwarden
# 重新跑那条 docker run,把 -e SIGNUPS_ALLOWED=true 删掉

# docker compose 方式
sed -i 's/SIGNUPS_ALLOWED: "true"/SIGNUPS_ALLOWED: "false"/' docker-compose.yml
docker compose restart

四、宝塔反代 WebSocket 配置(推荐加上)

有些同学升级完 Vaultwarden 仍然报”意外错误”,排除掉版本问题后,大概率是宝塔反代没把 WebSocket 路径代理过去。Bitwarden 客户端登录后需要长连 /notifications/hub 接收实时同步消息,断了就崩。

(我自己的反代没动,光升级镜像就恢复了,所以这个不是登录必须的;但加上它能让实时同步、多设备推送更稳。)

操作路径:宝塔面板 → 网站 → 你的站点 → 设置 → 反向代理 → 找到代理到 127.0.0.1:3567 的那条 → 点右侧 “配置文件” 按钮。

把里面的 location / { ... } 整段替换成:

# 主反代
location / {
   proxy_pass http://127.0.0.1:3567;
   proxy_http_version 1.1;
   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header X-Forwarded-Proto $scheme;
   proxy_redirect off;
   client_max_body_size 500M;   # 附件上传
}

# WebSocket 长连接(关键!)
location /notifications/hub {
   proxy_pass http://127.0.0.1:3567;
   proxy_http_version 1.1;
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection "upgrade";
   proxy_set_header Host $host;
   proxy_set_header X-Real-IP $remote_addr;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_read_timeout 3600s;
   proxy_send_timeout 3600s;
}

保存后宝塔自动 reload nginx。登录可能不会立刻有变化(登录本身不一定依赖 WebSocket),但加上之后,多设备实时同步会更稳。


五、其他常见错误速查表

错误现象原因修法
连接不上,超时反代没配 / 防火墙挡服务器 curl -I http://127.0.0.1:3567 测本地通不通
“您的连接不是私密连接”SSL 证书不匹配 / 自签宝塔 SSL 标签重新签发 Let’s Encrypt
“ERR_TOO_MANY_REDIRECTS”Cloudflare SSL 模式选了 FlexibleCF 控制台 → SSL/TLS → 加密模式改 Full
“Mixed Content”DOMAIN 环境变量填了 http://改成 https://vw.your-domain.com 重启
“发生意外错误”(老 Vaultwarden)版本不兼容新客户端升级到 1.37.1
能登录,但实时同步断 / 推送收不到反代没配 WebSocket按本文第四节加 /notifications/hub 反代

六、客户端连接自托管服务

Vaultwarden 实现了 Bitwarden 官方客户端协议,所以:

  • 浏览器插件:设置 → 自托管 → Server URL 填 https://vw.your-domain.com
  • 手机 App(iOS / Android):设置 → 服务器 → 自托管 → 同上
  • 桌面客户端:同浏览器插件

登录用的就是你在 web vault(https://vw.your-domain.com)注册的账号密码,跟官方云端账号不通用


七、结语

自部署 Vaultwarden + 官方 Bitwarden 客户端,目前是密码管理自托管圈最成熟的方案。核心就两件事:

  1. 镜像版本跟上(1.37.1 即可,别用 latest 以外的旧 tag)
  2. 反代 WebSocket 配上(/notifications/hub 段)

踩过的坑都写在这里,希望帮你省几个小时。Have fun。


最后更新:2026-08-01 · Vaultwarden 1.37.1 · 适用于 Bitwarden 全平台客户端

上一篇