本地密码管理器-Vaultwarden
前言
之前主要使用lastpass,目前是浏览器端免费,其它都要收费,而且密码存在别人服务器总是不放心。
所以我们要本地部署vaultwarden并且可以在各种Bitwarden正常使用。这里使用vaultwarden是因为相比原生更加轻量,占用资源极少。
部署
环境准备
服务器要求:腾讯云服务器(1核2GB内存,Ubuntu/Debian系统)。
开放端口:80(HTTP)、443(HTTPS),通过腾讯云控制台配置安全组
注:
如果家里本身就有公网ip,或者只是本地玩玩,是不需要公网服务器的。我这里公网服务器资源紧张,用来做转发,实际服务部署到内网机,所以公网和内网交互需要内网穿透,我这里使用的是zerotier。
内网机部署
为了方便从云服务器转发到内网,所以通过nginx包一层,给vaultwarden套一个前缀,比如:/bitwarden。否则云服务nginx转发会很乱
1 | services: |
挂载目录结构如下
1 | vaultwarden/ |
conf.d/default.conf配置
这里nginx.conf会默认引入所有conf.d/*.conf
1 | server { |
配置自签名证书
1 | # 在docker-compose同级目录执行 |
服务启动
1 | docker-compose up -d |
测试访问
1 | https://10.241.189.234:8443/bitwarden |
公网ECS配置nginx(无域名)
1 | cd /etc/nginx/conf.d |
nginx -s reload
测试
1 | https://ECS公网IP/bitwarden |
公网ECS配置nginx(有域名)
以腾讯ECS为例
域名配置
根据官方提示,将域名绑定到ECS机器
进行域名备案
调整nginx配置
使用免费或者付费的ssl证书,下载后替换nginx中配置的证书信息
1 | # SSL 证书配置(必须使用有效证书) |
客户端配置
- 下载安装bitwarden相关客户端,包括app端,浏览器插件等
- 配置为自托管,然后按照自己设置的用户密码登录即可
备份
找一个自己觉得安全的地方备份自己的挂载(volumes目录),比如NAS或者网盘,U盘等
问题处理
console-log.service.ts:53 Unhandled error in angular Error: Could not instantiate WebCryptoFunctionService. Could not locate Subtle crypto.
分析处理
必须使用https访问,否则报错
安卓客户端无法访问,提示无法验证服务器证书
分析处理
这个真得有域名了。