没有公网IP?通过免费Sakurafrp访问家中群晖nas同时开启https
sakurafrp提供免费的内网穿透服务,它们的服务器大多都在国内,延迟十分优秀,免费用户最多拥有5条10mbps的隧道,每月流量有5Gb上限,但是可以通过签到获取大量流量(每天获得3Gb左右),流量超出后不会停用隧道而是进入限速4mbps的限速模式。作为个人使用访问家中设备的隧道,免费用户已经完全能满足需求了,更详细的流量规则请去它的官网看看吧
首先呢你要有
- 一个sakurafrp的账号,去这里注册
- 一个已备案的域名,或未备案的域名(使用高延迟的非中国大陆节点)
- 你的群晖nas
获取frpc配置文件
登录Sakurafrp控制台转到创建隧道
上面的穿透节点按需选择,我们需要选择可建站的节点来进行穿透,隧道选择https隧道,如果使用tcp协议代理,那么访问域名的时候需要加上端口,不方便也不美观。本地端口请填写你的群晖nas中设置的https访问端口,默认端口是5001(如果你没有改过的话),绑定域名处填写你自己的域名就好了
回到隧道列表,点击刚才创建隧道的配置文件
这个框里面的就是我们要的配置文件了,暂时搁置,后面会用到,还有别忘了将你的域名CNAME到这个节点域名上
安装frpc
ssh连上群晖nas后首先切换为root用户
1 |
|
进入/usr/local/bin/目录下载解压frp本体
我的机器是猫盘,采用arm架构的cpu,和群晖DS119J和DS120J一样,请去https://github.com/fatedier/frp/releases找到对应自己机器型号版本的下载地址,用wget <下载地址>来下载,如果连接性不佳,开启群晖上的代理设置,用电脑上的代理软件来连接,或者先把文件通过代理下载到本机,然后上传到群晖nas的/usr/local/bin目录下
1 |
|
编辑frp配置文件,在上一步完成后输入vim /usr/local/bin/frpc.ini后按”i”开启编辑模式填入上面获取到的配置文件后按ESC键退出编辑,接着输入:wq保存退出
接着要设置开机启动
1 |
|
如果您按照本文档进行配置并使用了下面的内容,frpc 会在系统启动时自启并在出错时自动重启,无需额外配置
1 |
|
保存退出
最后删除一下多余的文件(rm -rf警告!!!)
1 |
|
测试frp连接
执行下面的命令测试 frpc 是否能正常运行
1 |
|
看到succeed字样就表示连接成功了,除此之外在sakurafrp控制面板的隧道列表里节点前面也会显示[在线]标识
上传证书开启https
进入群晖控制面板-安全性-证书将你的域名证书导入,证书是哪里来的这里不再赘述了,阿里腾讯都有申请免费ssl证书的渠道。如果这里的域名将作为群晖后台的登录域名,就将它设置为默认证书
这样就可以通过https://<你的域名>访问你的群晖nas了
群晖反代nas内其他应用
群晖提供这么方便的证书管理真实不用白不用啊,有些应用例如jellyfin有自己的证书管理,但有些应用提供的证书管理不是那么人性化,于是将证书统一交给群晖管理,还能通过反代加上sakurafrp来实现不用加上端口的访问。
这里拿qbittorrent来做例子,它的访问端口是9080,现在我想通过一个域名来访问,回到上面的新建节点的步骤,选择与前一隧道相同的服务器来建立隧道,本地端口填写9080
创建后打开隧道配置文件,结构应该如下
1 |
|
这里仅需要将[你的隧道名称]以及后面部分的配置文件添加到群晖nas的frpc配置文件的末尾就行了
通过vim /usr/local/bin/frpc.ini编辑文件后保存退出,重启frpc并查看启动日志
1 |
|
回到群晖控制面板-应用程序门户-反向代理服务器新增按照如下配置
主机名处填你的域名,保存,再回到控制面板-安全性-证书导入此域名的证书
点击配置,将你的服务切换成对应的证书即可。还是要记得将域名CNAME到sakurafrp的节点域名上,待解析生效后就能通过https://<你的域名>直接访问群晖中qbittorrent的webUI了
加上了ssl后的小锁看的真舒服,不是吗🍋