【5分钟玩转Lighthouse】系列文章将为大家分享轻量应用服务器使用教程,提供丰富的实践指南,帮助大家快速上手并获得最佳产品体验。本期主要介绍如何借力 Lighthouse 实例与 bitwarden,快速搭建属于自己的密码管理器。
背景概述
在网上冲浪的每一天,我们会进入不同的网站和APP享受各类服务。「账号密码」就如同各个平台的身份证体系,来帮助确认我们独特的身份。
但显然,「账号密码」远不如身份证便捷安全。在互联网五花八门的使用场景下,如此多账号使用统一密码,就存在一个密码被攻破则其它密码都失效的灾难性后果。但若分别设置,记住这些密码又成了一个难题。
虽然当前市场上有众多密码管理工具,如1Password、OneSafe、LastPass等,但这些工具大多数需要收费,并且是将密码存储在其提供的服务器上。把密码交给别人管理,多少还是有些不放心。
本教程将为大家介绍在腾讯云轻量应用服务器 Lighthouse 上,基于Docker搭建 bitwarden 私人密码管理器,助你轻松解决密码管理这件大事。
为何选择 Lighthouse 和 bitwarden?
轻量应用服务器 Lighthouse 创建简单,性价比高,自带Docker镜像。
Bitwarden是一款有免费版且开源的密码管理工具。允许自建密码管理服务,完全不用担心密码被别人管理的问题。同时 biwarden 对Windows,Linux,Mac,iPhone,Android以及Chrome等多种主流浏览器都支持,完全满足个人跨平台、跨终端的密码管理需求。
服务器准备
我们首先在腾讯云轻量应用服务器 Lighthouse 购买页面购买一台服务器。具体配置如下:
- 地域:中国香港
- 镜像:应用镜像Docker
- 实例套餐:CPU 2核 内存2G SSD 80GB 峰值带宽 30Mbps 每月流量3072GB
- 实例名称:输入 bitwarden 即可
点击“立即购买”,付款之后服务器就开始创建了。当服务器状态为“运行中”时,我们就可以使用了。
Bitwarden 建议使用CPU2核、内存2G、磁盘25G的配置,因此我们选择了以上套餐。搭建 bitwarden 服务器我们使用Docker镜像的方式,直接选择 Lighthouse 自带的Docker镜像即可。有了服务器,接下来我们就要搭建 bitwarden 密码管理器了。
搭建bitwarden个人密码管理器
注册域名与配置解析
为了方便记忆 bitwarden 密码管理器服务地址,我们先申请一个域名以方便访问。进入轻量应用服务器的实例详情页面,点击 “注册域名”。
接下来参考腾讯云官方文档《域名注册》完成域名的购买、注册和实名认证。如下图所示,域名购买成功。
域名解析:点击域名后的解析,添加一条A记录,主机记录填 “WWW”,记录值填写轻量应用服务器的外网IP。
申请与下载SSL证书
为了保证轻量应用服务器通信的安全性,我们要使用HTTPS协议进行通信。因此我们再申请SSL证书具体参考腾讯云官方文档《SSL证书新手入门》,申请“域名型免费版SSL证书”即可。
申请好证书后,点击“下载证书”,留待后面上传到轻量应用服务器上,配置Nginx使用的SSL证书。
安装bitwarden
我们先部署 bitwarden,然后使用Nginx作为反向代理,将请求转发到 bitwarden 服务器上。
mkdir /data/bitwardendocker run -d --rm --name bitwarden -p 8080:80 -p 3012:3012 -e SIGNUPS_ALLOWED=true -e WEB_VAULT_ENABLED=true -e DOMAIN=https://mydomain.cn -v /data/bitwarden:/data bitwardenrs/server:latest 上面命令的各个参数含义如下:-d 在后台运行--rm 容器停止运行后,自动删除容器文件--name bitwarden容器的名字为bitwarden-p 8080:80 容器的端口80映射到8080,在Nginx配置-p 3012:3012 容器的端口3012映射到3012-e SIGNUPS_ALLOWED=true 设置环境变量SIGNUPS_ALLOWED=true允许用户注册-e WBE_VAULT_ENABLE=true 设置环境变量WBE_VAULT_ENABLE=true-e DOMAIN=https://mydomain.cn设置域名,需要替换成自己申请的域名-v /data/bitwarden:/data 容器的/data/目录映射到宿主机的/data/bitwarden目录
Docker部署bitwarden
安装并配置Nginx
接下来使用docker安装Nginx并配置SSL证书与反向代理。
docker run --rm --name nginx -d nginx 上面命令的各个参数含义如下:--rm 容器停止运行后,自动删除容器文件--name nginx 容器的名字为nginx-d 在后台运行
安装Nginx
docker cp nginx:/etc/nginx /data
上面命令的含义:将nginx容器内的/etc/nginx目录复制到宿主机的/data目录
拷贝配置
配置SSL证书与反向代理:解压从腾讯云证书控制台下载的SSL证书文件。目录结构如下,我们使Nginx目录中的.crt和.key文件使用。
mkdir /data/nginx/certscp ./Nginx/1_mydomain _bundle.crt /data/nginx/certscp ./Nginx/2_mydomain.key /data/nginx/certs
打开nginx文件/data/nginx/conf.d/default.conf中新增如下内容:
server { listen 80; ……此处省略无修改的内容 return 301 https://$host$request_uri; #将http的域名请求转成https}
HTTP 80端口新增如上配置
server { listen 443 ssl http2; server_name localhost; ssl on; ssl_certificate /etc/nginx/certs/1_mydomain_bundle.crt; #配置证书文件 ssl_certificate_key /etc/nginx/certs/2_mydomain.key; #配置证书私钥文件 ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; #配置反向代理,请求代理发送到8080端口 location / { proxy_pass http://127.0.0.1:8080; 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; root /usr/share/nginx/html; index index.html index.htm; } location /notifications/hub { proxy_pass http://127.0.0.1:3012; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location /notifications/hub/negotiate { proxy_pass http://127.0.0.1:8080; }
}
HTTPS 443端口新增如上配置
重启nginx使配置生效。至此我们就完成了 bitwarden 密码管理器的安装和部署。
docker restart nginx
重启Nginx
使用bitwarden管理密码
访问我们的域名就可以访问 bitwarden 的主页,接下来我们来介绍一下如何使用自己 bitwarden 管理我们各个平台与各个终端上的密码。
注册bitwarden账号
首先我们使用自己的电子邮件地址注册一个账号。接下来返回到登录页面,输入电子邮件地址,和主密码即可登录。下图显示注册账号后为空的密码库。
禁止其他人注册
由于这个 bitwarden 服务器是供个人使用,我们在注册完账号后,要关闭注册功能,防止他人注册。
# 先停止bitwarden容器docker stop bitwarden# 设置环境变量不允许注册用户-e SIGNUPS_ALLOWED=false,再启动bitwarden容器docker run -d --rm --name bitwarden -p 8080:80 -p 3012:3012 -e SIGNUPS_ALLOWED=false -e WEB_VAULT_ENABLED=true -e DOMAIN=https://mydomain -v /data/bitwarden:/data bitwardenrs/server:latest
此时再注册账号时,会提示Registration not allowed or user already exists.这样的错误。
Chrome上使用bitwarden
在chrome网上应用店搜索 bitwarden,并添加至Chrome中。
设置自建bitwarden服务器URL地址
接下来我们就体验一下,bitwarden 自动保存密码的功能。在Chrome浏览器中,我们登录果壳网,bitwarden 会自动检测需要保存的用户名和密码。点击“是的,现在保存”即可。
接下来,我们退出账号,再次重新登录,点击 bitwarden 中的登录项目,account.guokr.com,密码用户名和密码就会自动填充好。
iOS上使用bitwarden
在AppStore上搜索 bitwarden,下载 bitwarden 密码管理器。打开APP,点击设置图标,设置我们搭建的 bitwarden 服务器域名。
点击“登录”,用注册的 bitwarden 账号登录到我们搭建的服务器上。接下来用safari浏览器打开account.guokr.com,此时safari会自动弹出“使用Bitwarden,登录guokr.com”,选择我们要登录的账号,确定登录。
Bitwarden就会自动填充上用户名和密码,登录成功。
小结
通过借助轻量应用服务器 Lighthouse 和 bitwarden 我们成功搭建了个人密码管理器。轻量应用服务器提供的Docker镜像,为我们提供了一键运行容器的环境。Bitwarden 提供的跨平台、跨终端能力,让我们再也不用为管理密码头疼了。最重要的是 bitwarden 自行部署能力,让我们把密码安全掌握在自己的手里,这才是密码管理器最让人放心的地方。
推荐阅读
故事|不懂代码的他,如何上云?
故事|用科技,点亮盲人新视界