|
|
本帖最后由 Millionaire 于 2026-2-28 22:09 编辑
Bitwarden是很受欢迎的开源密码管理器,可以安全地存储、管理和共享敏感的数据。Vaultwarden则是Bitwarden服务端的替代实现,资源占用少且更容易部署,添加Bitwarden的浏览器扩展程序,还可以拥有自动填充密码功能。
注意:Vaultwarden的使用建议开启HTTPS加密协议,以避免可能的MITM攻击。
一、安装Docker Desktop
Windows需要启用WSL 2,然后安装Docker Desktop。
二、安装Vaultwarden
新建Vaultwarden文件夹,在文件夹中新建compose.yaml文件并将以下内容复制到文件。域名可以配置为你的域名,端口为80:80时使用http://127.0.0.1无法访问,原因就不多解释了。
- services:
- vaultwarden:
- image: vaultwarden/server:latest
- container_name: vaultwarden
- restart: always
- environment:
- DOMAIN: "https://vw.example.com"
- volumes:
- - ./vw-data/:/data/
- ports:
- - 8080:80
复制代码 以后台模式启动服务:
打开http://127.0.0.1:8080访问。
三、本地服务使用frp转发到公网
执行以下命令生成SSL/TLS证书时,复制/etc/ssl/openssl.cnf文件到当前路径,frps证书的subjectAltName部分应包含服务端公网IP。
ca证书:- openssl genrsa -out ca.key 2048
- openssl req -x509 -new -nodes -key ca.key -subj "/CN=example.ca.com" -days 5000 -out ca.crt
复制代码 frps证书:
- openssl genrsa -out server.key 2048
- openssl req -new -sha256 -key server.key \
- -subj "/C=CN/ST=DEFAULT/L=DEFAULT/O=DEFAULT/CN=server.com" \
- -reqexts SAN \
- -config <(cat my-openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:localhost,IP:127.0.0.1,DNS:example.server.com")) \
- -out server.csr
- openssl x509 -req -days 365 -sha256 \
- -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
- -extfile <(printf "subjectAltName=DNS:localhost,IP:127.0.0.1,DNS:example.server.com") \
- -out server.crt
复制代码 frpc证书:
- openssl genrsa -out client.key 2048
- openssl req -new -sha256 -key client.key \
- -subj "/C=CN/ST=DEFAULT/L=DEFAULT/O=DEFAULT/CN=client.com" \
- -reqexts SAN \
- -config <(cat my-openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:client.com,DNS:example.client.com")) \
- -out client.csr
- openssl x509 -req -days 365 -sha256 \
- -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial \
- -extfile <(printf "subjectAltName=DNS:client.com,DNS:example.client.com") \
- -out client.crt
复制代码 服务端frps.toml文件配置:
- bindPort = 7000
- transport.tls.force = true
- transport.tls.certFile = "server.crt"
- transport.tls.keyFile = "server.key"
- transport.tls.trustedCaFile = "ca.crt"
复制代码 客户端frpc.toml文件配置:
- serverAddr = "x.x.x.x"
- serverPort = 7000
- transport.tls.enable = true
- transport.tls.certFile = "client.crt"
- transport.tls.keyFile = "client.key"
- transport.tls.trustedCaFile = "ca.crt"
- [[proxies]]
- name = "Vaultwarden"
- type = "tcp"
- localIP = "127.0.0.1"
- localPort = 8080
- remotePort = 8080
- transport.useEncryption = true
- transport.useCompression = true
复制代码
四、反向代理
添加vw.example.com的DNS记录,并配置Apache反向代理。
- <IfModule mod_ssl.c>
- <VirtualHost *:443>
- ServerName vw.example.com
- # [Vaultwarden]反向代理
- ProxyPass "/" "http://127.0.0.1:8080/"
- ProxyPassReverse "/" "http://127.0.0.1:8080/"
- SSLCertificateFile /etc/letsencrypt/live/vw.example.com/cert.pem
- SSLCertificateKeyFile /etc/letsencrypt/live/vw.example.com/privkey.pem
- Include /etc/letsencrypt/options-ssl-apache.conf
- SSLCertificateChainFile /etc/letsencrypt/live/vw.example.com/chain.pem
- </VirtualHost>
- </IfModule>
复制代码 反向代理完成后,可以通过https://vw.example.com访问Vaultwarden进行使用了。
五、客户端
打开Bitwarden的客户端,服务器选择自托管。
输入服务器URL使用客户端登录。
nngceckbapebfimnlniiiahkandclblb_8054.crx
(15.88 MB, 下载次数: 2)
Bitwarden Password Manager_2025.1.2.apk
(66.79 MB, 下载次数: 2)
|
|