使用免费顶级域名和证书给nas增加https,搭建自己的Bitwarden家用服务
Bitwarden是一个强大的密码管理工具,支持全平台使用,同时是开源的,可以自己搭建服务,为了保证传输安全它要求我们的服务域名必须是https。https想必大家都不陌生,它可以保障我们传输内容的安全性,在证书不被泄漏的前提下,传输内容不会被中间人劫持。
如果有白群晖这样的nas提供了证书和域名,部署起来还是很方便的,但对于追求性价比的垃圾佬来说,必然要白嫖才能开心,所以这次给大家讲一下如何通过免费的域名部署https服务。
准备一台支持ddns的路由器,这里我使用的是tplink的ddns,一台linux主机,我使用的是ubuntu。当然还需要有公网ip。
然后去freenom上注册域名,freenom是全球唯一一家提供免费顶级域名的服务商,一次最多可以申请1年,到期前可以续期。具体的注册过程(需要科学上网)网上有很多教程了,这里就不列了。
申请好域名之后,我们通过CNAME关联自己的ddns域名,进入到freenom的dns管理页面,增加一条type为CNAME的dns记录,name是我们自己想要的三级域名,target是我们的ddns域名。设置好了后过一会ping下看是否生效。
再来申请https证书,我使用的是certbot来申请letsencrypt的免费赠书。因为宽带不支持80端口,所以没办法使用自动验证,只能通过手动dns验证,运行命令:certbot certonly -d 域名.tk -d "*.域名.tk" --manual --preferred-challenges dns,注意域名这里,如果要申请泛域名证书需要两个都写。运行后会出现一串代码,需要给dns增加txt记录,进入到freenom的dns管理页面,增加一条记录,name为:_ACME-CHALLENGE,type为:txt,target为运行命令后出现的代码。保存后过一会就会生效,可以是用这个工具来验证下:https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.域名.tk。确定生效后按回车继续,就会生成证书了。
生成的证书默认存放在/etc/letsencrypt/下,live下的证书就是当前有效的证书,可以直接用了。证书的有效期是3个月,续期运行certbot renew就可以了。如果嫌麻烦可以写个crontab,定时运行一下。
最后就可以使用证书来搭建服务了,Bitwarden服务端我用的是rust版本的Vaultwarden,docker部署命令:
docker run -d --name bitwarden
-e ROCKET_TLS='{certs="/ssl/live/域名.tk/fullchain.pem",key="/ssl/live/域名.tk/privkey.pem"}'
-v /etc/letsencrypt/:/ssl/
-v /bw-data/:/data/
-p 外网端口:80
vaultwarden/server:latest
再通过域名访问就可以了
当然也可以用nginx来做反向代理
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~







校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案