威联通NAS无公网IP时Docker安装vaultwarden免费密码管理器,亲测成功的手把手教程
大家好,我是小曹老师,一个喜欢折腾数码的互联网产品经理。
说明下:著名的免费密码管理器Bitwarden,已更新名为vaultwarden
【背景】
我的高中同学黄大夫,因医学视频的教学和学习需要,在我怂恿下,入手了一台NAS;且装了2块16T企业盘raid1,至今用的很踏实。
过去小半年,他一直在折腾vaultwarden密码管理器;加上乔迁新居,换了移动宽带,现在没有公网IP了,甚至困恼。
黄大夫有一定IT基础,也网上找了一些教程,核心问题卡在反向代理或域名转发等问题,出现了一些小异常。
平时我家小朋友有个头疼脑热的,我都直接Call黄大夫,那现在他这vaultwarden搞不定,我也不得使使劲嘛。
经过一番折腾,我亲测成功:在没有公网IP情况下,反向代理并解决https和SSL证书等安全提示;现在利用Tailscale等内网穿透方式,域名解析到穿透IP即可完全实现。
接下来,就拿我这台威联通TS464C为例,将整个过程,整理和分享一下。
【整体逻辑】
1、威联通NAS通过Docker Container安装vaultwarden,并实现 http的10.0.0.100:10800 正常访问。
2、通过Tailscale内网穿透工具,实现个人终端与NAS的公网访问互通,解决无公网IP问题。
3、域名解析指向穿透IP,并通过反向代理,完美解决https的SSL安全通畅访问。
整体逻辑图【优势】
1、可以公网访问,能实时密码数据的多端同步;不受网络限制。
2、操作看似复杂,实则简单,几个大步骤逻辑清晰,按本教程操作一定可行。
3、各个访问终端,必须安装Tailscale客户端,和NAS都处在Tailscale虚拟网络中,更加安全;如果没有加入Tailscale虚拟网络,压根接触不到vaultwarden这一层。
4、过去网上很多教程,在反向代理这块,教程详细度和实操都被忽略了,这个教程完美细节,亲测成功。
【第一步】Docker安装vaultwarden实现http访问
大多数Docker应用,都需要创建一个 /data 的文件夹,用于保存Docker该应用的相关数据。
我们打开FileStation,在Container下面创建好 /vaultwarden/data 文件夹。
创建文件夹打开Container,在容器界面的右上角→浏览→拉取映像,输入:
vaultwarden/server:latest
一定要带后缀,代表是最新版本;不然无法下载的。
拉取映像带上后缀,下载就非常快了,基本上一分钟内完成。
映像拉取成功在映像界面,点击启动即可,接下来,我们做一些简单配置,不复杂。
启动映像容器配置界面:
a)名称建议改成vaultwarden
b)重启策略:始终;以防程序崩溃or异常断电重启后,能自动重启。
c)端口设置里,3012保持不变,80建议改成10800
(在本教程中,可以保持80的,修改原因主要是怕和本NAS其他程序端口冲突)
容器基本配置容器配置的高级设置:存储界面,绑定NAS的文件夹 /Container/vaultwarden 装载到Docker本容器应用的 /data ,权限需要读写RW
容器高级设置配置都ok了,立刻启动。
Dcoker启动后,输入NAS局域网IP10.0.0.121+端口10800就可以访问了。
但是,在网页版配置vaultwarden时,系统提示https安全风险,无法继续。
Docker启动正常但https提示异常【第二步】Taiscale内网穿透
先放一放https的问题,现在我们解决“无公网IP”的问题——我们选择一个内网穿透工具,我比较推荐Tailscale
在AppCenter中,输入第三方源 https://www.qnapclub.eu/en/repo.xml ,并下载Tailscale并安装;今儿刷新了下,是最新版1.52.1版
在Tailscale管理后台,找到NAS的穿透IP为100.68.166.61 ,并且设置为“不过期”;
威联通AppCenter添加第三方软件源这个穿透IP,对我来说,也就是一个“虚拟局域网”的NAS局域网IP。
Tailscale管理后台具体更多使用,可以参考
我们访问valuewarde的局域网IP,更换成穿透IP+端口10800;
此时,安装了Tailscale的客户端设备,可以通过100.68.166.61:10800可以访问了,但vaultwarden依然会提示https安全风险,无法继续注册。
接下来看第三步了。
内网穿透后公网http访问【第三步】反向代理
打开威联通 控制台-网络和文件服务-反向代理,添加一条规则
威联通QNAP反向代理规则:将https 的 nas.aaaa.org+端口10888指向http的NAS局域网 10.0.0.121 +端口10800,这个规则实现了http向https转变,就解决了网页版vaultwarde注册时https报错问题。
目前,还缺一条 nas.aaaa.org 和NAS穿透IP的关联,接下来看第四步。
增加反向代理规则【第四步】域名配置和SSL证书
选一个域名,创建一个二级域名nas的A解析,如 nas.aaaa.org ,解析指向穿透IP 100.68.166.61
DNSPOD和阿里云的域名解析,都提供免费SSL证书,按照步骤申请即可。
二级域名解析购买一个有意义的个人域名也不错,也可以申请到免费域名,可以参考之前有大佬教程,可以申请到 eu.org免费域名。
对应二级域名的SSL证书,下载即可;
SSL证书下载打开威联通NAS的控制台,系统→安全→SSL证书→取代当前证书,选择导入证书。
威联通SSL证书替换下载证书时,解压缩后有好几个文件;按要求,上传crt证书+key私人密钥文件即可,其他文件和中间证书可以忽略。
上传自定义SSL证书应用后,https 打开域名 nas.aaaa.org + 端口10888即可访问vaultwarden 完全解锁SSL安全访问,再也没有网址前的“不安全”提示。
https公网SSL安全访问成功【写在最后】
这个方案,有几个变通方案,各位可以自行探索一下。
1、可以换其他内网穿透工具,都可以的,如Zerotier、NPS等;换成家庭局域网也可以,只是后续密码同步只能在家庭局域网实现。只要修改域名解析时的IP指向即可。
2、其他品牌NAS都有Docker和反向代理功能,Docker安装、反向代理都相同的操作。
3、文中穿透IP、NAS局域网IP、各个端口号,根据实际情况自行调整,但一定要前后一致性,以防异常错误。
大功告成再最后,通过Docker环境参数配置,增加“不可注册”、“邮箱通知”,还有“二次登录”等系统功能,让你的vaultwarden密码管理器更加安全。
我等等大家评论区,如果需要,我就继续再写一篇,今儿写完,周末愉快,感谢大家。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
守梦者的命
校验提示文案
值友9250142961
校验提示文案
猫叔卖咸鱼
校验提示文案
静海怒蛟
校验提示文案
explorer39
校验提示文案
丸子炖白菜
校验提示文案
ledit
校验提示文案
隔壁王da爷
校验提示文案
rever_瑞文
校验提示文案
Zding89
校验提示文案
Zding89
校验提示文案
静海怒蛟
校验提示文案
猫叔卖咸鱼
校验提示文案
值友9250142961
校验提示文案
rever_瑞文
校验提示文案
隔壁王da爷
校验提示文案
ledit
校验提示文案
explorer39
校验提示文案
丸子炖白菜
校验提示文案
守梦者的命
校验提示文案