bitwarden是一个自由开源、跨平台的密码管理器,且提供浏览器插件,支持自动填充、totp、passkey等功能。
服务端选择
Vaultwarden 是一个基于Rust开发的轻量级 Bitwarden 服务端,支持MFA、多用户、多设备同步等。
使用 Docker Compose 构建
$ mkdir vaultwarden && cd vaultwarden $ vim compose.yml
services: vaultwarden: image: vaultwarden/server:1.35.1 container_name: vaultwarden restart: always environment: DOMAIN: "https://example.com" SIGNUPS_ALLOWED: "true"
volumes: - ./vw-data:/data ports: - 1145:80
$ sudo docker compose up -d
|
使用nginx反代
先在/etc/nginx/sites-available创建一个.conf配置文件
$ sudo vim /etc/nginx/sites-available/example.conf
server { listen 1146 ssl default_server; listen [::]:1146 ssl default_server;
ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/private.key;
return 403; }
server { listen 1146 ssl; server_name example.com;
ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/private.key;
ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on;
add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block";
location / { proxy_pass http://127.0.0.1:1145; 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;
if ($host != 'example.com') { return 403; } } }
|
软链接到/etc/nginx/sites-enabled/启用配置文件
$ sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/example.com.conf
|
检查并重载nginx
$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
$sudo nginx -s reload
|
随后访问https://example.com:1146检查是否正常运行