配置
bitwarden_rs 是一个用于本地搭建 Bitwarden 服务器的第三方开源 Docker 项目,目前bitwarden_rs 已经更名为 vaultwarden。
Docker 启动实例:首次启动允许注册,注册完自己的帐号之后禁用新帐号注册:
docker run -d --name vaultwarden \
-e SIGNUPS_ALLOWED=false \
-e WEBSOCKET_ENABLED=true \
-v $(pwd)/vw-data/:/data/ \
-p 8080:80 -p 9090:3012 \
vaultwarden/server:latest
启动之后只有 HTTP 的话,桌面客户端能连接使用,但手机客户端必须使用 HTTP。这里介绍使用 cloudfare 配置 HTTPS。在 cloudfare 切换到 SSL/TLS 下找到“源服务器”然后创建证书(可以使用自己的私钥和CSR或者由 cloudfare 生成)。
生成完毕后将 CSR 填入/etc/nginx/ssl/example.com.crt
,私钥填入 /etc/nginx/ssl/example.com.key
。然后修改SSL/TLS 加密模式为“完全(严格)”。
然后使用 Nginx(或者Caddy)配置反向代理到
server
{
listen 443 ssl http2;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
server_name example.com;
client_max_body_size 128M;
location / {
proxy_pass http://127.0.0.1:8080;
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;
}
location /notifications/hub
{
proxy_pass http://127.0.0.1:9090;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
location /notifications/hub/negotiate
{
proxy_pass http://127.0.0.1:8080;
}
}
配置完毕后校验 HTTPS 是否配置正确
openssl s_client -showcerts -connect example.com:443