自建 Bitwarden 服务器并配置 HTTPS
创始人
2025-01-20 10:33:25
0次

自建 Bitwarden 服务器并配置 HTTPS

    • 背景
    • Bitwarden
    • 使用 docker 搭建服务端
      • 拉取镜像
      • 部署
        • 简易部署
        • 删除容器
        • 再次部署
      • 搭建 HTTPS

背景

我时常因为要记住各种平台的账户密码而担忧,因为怕忘记,然后就想找一款可以保存密码的软件,市面上有 1password ,我使用过它,它确实好用,我通过 Github 学生认证包,免费尝试了一年,但是续费比较贵,所有我选择买一台服务器,自建服务器,数据在自己手里更放心。

Bitwarden

Bitwarden 是一款开源的密码管理平台,并且它提供跨平台的支持。

  • 开源的代码
  • 云端同步
  • 项目类型,如登录信息、安全笔记、信用卡、身份
  • 保管库数据的端到端加密
  • 密码历史记录,可以在登录信息中查阅以前的密码
  • 与其他 Bitwarden 用户安全地分享保管库中的记录
  • 自动填写登录信息到网站和其他应用程序
  • 密码生成器
  • 2FA
  • 文件作为附件
  • TOTP 密钥存储及代码生成器
  • 数据泄露报告和密码暴露检查
  • 跨平台客户端
  • 自行部署 Bitwarden 服务器

使用 docker 搭建服务端

[!info]
如何安装 Docker 可以参考:CentOS 7.6 安装 Docker 与 Compose

由于官方提供的 Docker 镜像,要求服务器的内存大于 3G,所以我们使用第三方开源的服务端 https://github.com/dani-garcia/vaultwarden ,它由于使用 Rust 编写,性能极高,并且占用内存极低,只需要 128M 左右,以及解锁官方大部分的高级功能和提供 Docker 镜像,只需要几条命令就可以完成部署。

拉取镜像

docker pull vaultwarden/server:latest 

部署

由于我是部署给自己使用,我会关闭服务端的注册功能,所以会有一个先简易部署,进行账户注册,然后再次部署。

简易部署

先通过简易命令进行部署服务端:

docker run -d --name vaultwarden \ 	-v /root/bitwarden/:/data/ \ 	-p 11000:80 \ 	vaultwarden/server:latest 

先访问该服务端,然后通过 https://公网 ip:11000 进行访问,然后注册账户。记住自己注册的账户

删除容器
  1. 找到通过简易部署对应的容器
dcoker ps 
  1. 找到对应的容器 id 为 f511495b9da5
    image.png

  2. 停止该容器

docker stop f511495b9da5 
  1. 删除该容器
docker rm f511495b9da5 
再次部署

使用 openssl rand -base6 生成 token,填入下方 中。

docker run -d --name vaultwarden \ 	-e SIGNUPS_ALLOWED=false \ 	-e INVITATIONOS_ALLOWED=false \ 	-e ADMIN_TOKEN='' \ 	-e WEBSOCKET_ENABLED=true \ 	-v /root/bitwarden/:/data/ \ 	-p 127.0.0.1:11000:80 \ 	vaultwarden/server:latest 

注:参数解释

  • -p 127.0.0.1:11000:80 为安全只提供内网访问,通过 nginx 反向代理,进行 HTTPS 配置。
参数解释
SIGNUPS_ALLOWED允许注册
INVITATIONOS_ALLOWED是否允许组织邀请注册
ADMIN_TOKENAdmin 页面后台密码,推荐使用 openssl rand -base64 48 生成
WEBSOCKET_ENABLED是否开启 WebSocket

搭建 HTTPS

[!info]
编译安装 Nginx 可以参考 CentOS 7 编译安装 Nginx

在 Nginx 配置目录中 nginx.conf 文件的 http 块中添加以下内容:

map $http_upgrade $connection_upgrade { 	default upgrade; 	'' close; }  server { 	listen 443 ssl; 	server_name ;  	ssl_certificate ; 	ssl_certificate_key ; 	ssl_session_timeout 5m; 	ssl_protocols TLSv1.1 TLSv1.2; 	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 	ssl_prefer_server_ciphers on;  	location / { 		proxy_pass http://127.0.0.1:11000; 		proxy_redirect off;  		proxy_http_version 1.1; 		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_read_timeout 3600s;  		proxy_set_header Upgrade $http_upgrade; 		proxy_set_header Connection $connection_upgrade; 	} } 

然后通过域名访问,就可以通过 https 传输信息了。

注:配置解释

  • 配置 Websocket
map $http_upgrade $connection_upgrade { 	default upgrade; 	'' close; }  location / { 	………… 	proxy_set_header Upgrade $http_upgrade; 	proxy_set_header Connection $connection_upgrade; 	………… } 

相关内容

热门资讯

每日必看!江岸多玩到底能开挂吗... 每日必看!江岸多玩到底能开挂吗(辅助挂),江岸多玩原来真的有辅助挂讲义1、江岸多玩脚本辅助下载、江岸...
玩家交流!颖河竞技怎么开挂(外... 玩家交流!颖河竞技怎么开挂(外挂),颖河竞技好像是有外挂教材一、颖河竞技游戏安装教程牌型概率发牌机制...
最新通报!皮皮四川麻将软件下载... 最新通报!皮皮四川麻将软件下载(辅助挂),皮皮四川麻将果然有辅助挂模块1、操作简单,无需皮皮四川麻将...
一分钟揭秘!52游戏开挂脚本(... 一分钟揭秘!52游戏开挂脚本(透视挂),52游戏切实有透视挂法子52游戏脚本下载中分为三种模型:52...
一分钟快速了解!堆堆乐开挂破解... 一分钟快速了解!堆堆乐开挂破解(外挂),堆堆乐竟然真的有外挂方针1、下载好堆堆乐正确养号方法之后点击...
重大通报!汇城贵州麻将开挂脚本... 重大通报!汇城贵州麻将开挂脚本(开挂),汇城贵州麻将原来真的有开挂法门1、重大通报!汇城贵州麻将开挂...
盘点一款!七色城透视挂件(外挂... 盘点一款!七色城透视挂件(外挂),七色城切实是真的有外挂经验1、全新机制【七色城ai辅助工具激活码】...
今日头条!多多休闲透视软件下载... 今日头条!多多休闲透视软件下载(外挂),多多休闲确实是真的有外挂攻略1、首先打开多多休闲辅助器下载最...
关于!钱柜麻将真的有透视吗(辅... 关于!钱柜麻将真的有透视吗(辅助器),钱柜麻将一贯是有辅助器练习钱柜麻将能透视中分为三种模型:钱柜麻...
今日焦点!河北家乡棋牌辅助工具... 今日焦点!河北家乡棋牌辅助工具(外挂),河北家乡棋牌果然是有外挂手册小薇(辅助器软件下载)致您一封信...