小天管理 发表于 6月17日 发表于 6月17日 vaultwarden 用了几年,备份方案翻来覆去折腾了好多种,这次利用 nginx syslog 实现“精确”的备份: log_format json-log escape=json '{"status":$status,"request_method":"$request_method","request_uri":"$request_uri"}'; server { location / { # ... proxy_redirect off; proxy_pass http://vaultwarden; proxy_http_version 1.1; access_log syslog:server=syslog-server:50333,facility=local7,tag=nginx,severity=info,nohostname json-log; } } 这样 syslog-server:50333 就可以收到完成的请求,可以拿到 status request_method request_uri 等信息,如此只需要实现个简单的 syslog server ,便可以根据这些信息来决定是否调用备份:例如所有 GET 请求都无需关心,因为对数据库没有更改;例如我不关心登录、注册、设备、二次验证之类的变更,则 ^/identity/accounts/prelogin ^/identity/connect/token .*/devices/.* .*/two-factor/.* 等请求也可以略过;例如我不使用 sends ,.*/sends/.* 也可以忽略。 bitwarden 客户端让每一次更改都必须对应 vaultwarden 数据库的更改,这个备份方案理论上也可以确保对自己有价值的变更都被备份。 部署运行了一周,我很喜欢这个方案 诸位觉得如何
已推荐帖子