Bitwarden 自 2023.7.0 版本起提供了使用设备登录(Log in with Device)功能,但在我私有化部署的 Bitwarden Server 中,客户端可以收到登录请求提醒,但确认后服务器端无反应。
经排查,原因是我的 Bitwarden Server 是通过 Nginx 反向代理连接到网络,使用设备登录功能用到了 WebSocket,需要在 Nginx 中配置 WebSocket 的反向代理。步骤如下:
编辑 Nginx 的配置文件,在 http 部分添加以下内容:
http {
…
map $http_upgrade $connection_upgrade {
default upgrade;
” close;
…
}
在 server 的 location 部分添加以下内容:
server {
…
location / {
…
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
…
}
…
}
重启 Nginx 服务后使用设备登录功能可正常使用。