自建密码管理

实现方式:vaultwarden + Nginx + 客户端~

1、Docker自建vaultwarden

使用docker-compose方式,配置文件如下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
version: '3'

services:
  vaultwarden:
    image: vaultwarden/server:latest
    restart: always
    ports:
      - "3080:80"
      - "3012:3012"
    environment:
      DOMAIN: 'https://vaultwarden.harrison-hub.cn'
      SIGNUPS_ALLOWED: 'true'
      WEBSOCKET_ENABLED: 'true'
    volumes:
      - ./data:/data

2、申请HTTPS证书

使用certbot获取通配符域名证书,*.harrison-hub.cn 服务器上执行以下命令: sudo certbot -d harrison-hub.cn -d "*.harrison-hub.cn" --manual --preferred-challenges dns certonly 这过程会提示 2 次添加TXT类型的DNS解析记录,具体的值会在控制台输出,例如:

1
2
3
Please deploy a DNS TXT record under the name
_acme-challenge.harrison-hub.cn with the following value:
D90SJOkhPoSJfn-0LOqcknOPtAQED_P_SawxPOqdQkz

需要根据不同的域名服务提供商去进行配置。主机记录:_acme-challenge;记录类型:TXT;记录值:D90SJOkhPoSJfn-0LOqcknOPtAQED_P_SawxPOqdQkz 执行完后,在Nginx的配置的配置文件中会新增一些HTTPS相关的SSL配置,重启Nginx,HTTPS就认证成功了。

3、Nginx配置

自建vaultwarden后,一般会通过Nginx进行代理,需新增一个server,将vaultwarden.harrison-hub.cn的请求转发到vaultwarden:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
    server {
       listen       443;
       server_name  vaultwarden.harrison-hub.cn;

       location / {
            proxy_pass http://127.0.0.1:3080;
        }

        location /notifications/hub/negotiate {
            proxy_pass http://127.0.0.1:3080;
        }

        location /notifications/hub {
            proxy_pass http://127.0.0.1:3012;
        }
    }

4、客户端

vaultwarden是Bitwarden的非官方实现,基于Rust语言,更加轻量。因此使用Bitwarden的客户端即可使用。 浏览器:安装Bitwarden 密码管理器插件 手机端:安装Bitwarden APP

0%