NAS相关篇八:群晖反向代理进阶教程

作者:转身就买

本篇教程承接上一篇,补充几点进阶使用技巧。

上一篇保姆教程可以看这里

上一篇为了方便大家理解。把解析和代理单独拿出来讲。

这篇主要分三个部分。泛解析、批量编辑反代规则、反代规则备份与还原。

不多废话,我们开始。

首先是泛解析。

开始之前再次推荐站内的申请免费泛域名证书的教程

做反代一定要申请泛域名证书,否则将毫无意义。

下面正式开始

在上一篇中,我们对每个二级域名都进行了独立的 CNAME 解析,为的是实现访问二级域名都能正常跳转我们的公网 IP。

但是如果我们的反代规则很多很多,逐条添加 CNAME 解析记录就会非常麻烦。

解析记录太多 添加麻烦

想解决这个问题,提高便利性。就要用到泛解析这个功能。

切到 dnspod 的说明页面,很详细地描述了泛解析是什么。

普通泛解析是免费的,混合泛解析是收费的,大家酌情使用。

简单来说,我们可以通过解析 *.xxx.com 来实现任意前缀的二级域名访问。

打个比方。我们不需要添加 emby.baidu.com、qb.baidu.com、tr.baidu.com 那么多条记录。

只需要添加一条 *.baidu.com 记录,就可以访问所有以 “.baidu.com” 结尾的二级域名。

以上一篇为例。

我做了一条 A 记录解析,域名为 ddns.xxx.top

然后把 *.xxx.top 设置成 CNAME 记录,指向 ddns.xxx.top

这样就完成了泛解析,访问所有 xxx.xxx.top 的域名,都会自动指向 ddns.xxx.top,也就是我的公网 IP。

可能有人问为什么不在 DDNS 的时候直接解析 *.xxx.top 域名,还要绕一圈做 CNAME 解析?

因为不少 DDNS 脚本并不支持泛解析,所以先做一条 A 记录,再用 CNAME 记录来做指向是通用性最好的。

如果你的 DDNS 脚本或者 DDNS 工具本身就支持泛解析,可以直接把 *.xxx.top 设置成 A 或者 AAAA 记录实现泛解析。

这里注意,单条解析的优先级高于泛解析,如果配置有单条解析,系统会优先执行单条配置的规则。

如果有特殊需要,直接添加单条解析记录即可,不会被泛解析影响。

以上就是泛解析的使用方法,其实也很简单,大家慢慢消化。

下面是群晖反代规则批量编辑管理,和备份与还原其实算一部分。

开始之前提醒一下。建议执行各类命令都是用 root 账户或 root 权限执行,避免出现各种权限问题。

群晖的反代也就是 nginx,配置存放在如下路径。

/usr/syno/etc/www/ReverseProxy.json

打开 ReverseProxy.json 可以看到我们的具体配置。

以 7.X 系统为例

代理域名、端口、协议所有全部参数都在配置文件中。

直接修改配置文件保存即可。

如果反代规则很多,直接把配置文件拷贝出来。

用文本编辑器批量搜索替换端口或者域名,完成以后保存。

把编辑替换以后的 ReverseProxy.json 配置文件,拷贝回 /usr/syno/etc/www 目录替换旧的配置文件。

并赋予配置文件 644 权限,重启 nginx 服务即可。

赋予权限以及重启 nginx 命令如下

6.X 系统

chmod 644 /usr/syno/etc/www/ReverseProxy.json

/usr/syno/sbin/synoservice –restart nginx

7.X 系统

/usr/syno/bin/synosystemctl reload nginx

以上就是批量编辑群晖反代配置的方法。

不用再在群晖 webUI 一条条点开编辑了。换域名或者换端口改 IP 都非常方便。

最后是反代配置文件的备份恢复。

其实就是 ReverseProxy.json 配置文件的备份和恢复。

我已经写成一键脚本。大家下载脚本配置好自己的备份目录,并在计划任务中添加定时自动执行脚本即可。

脚本中有注释说明。

自动备份脚本

恢复备份脚本

备份脚本会自动备份最新配置文件到 backup_new 目录,上次备份移动到 backup_old 目录,依此类推。

恢复脚本会把 backup_new 目录下的配置文件恢复到系统设置中。

有修改反代配置文件需求的同学,可以把修改好以后的 ReverseProxy.json 文件放入 backup_new 目录下,利用恢复脚本自动恢复配置,达成一键修改的目的。

简单说下脚本使用流程

比如我打算把反代配置文件备份在

/volume1/docker/nginx_backup 路径下

就把备份路径填入 nginx_backup.sh、nginx_recover.sh 两个脚本中的 BACKUP_HOME= 之后

这样就可以了。

需要备份就执行 nginx_backup.sh 脚本

需要恢复就执行 nginx_recover.sh 脚本

脚本可以存放在本机任意位置

执行时输入 sh 脚本绝对路径 即可

比如我的脚本存放在 /volume1/SuperHDD/nginx_backup.sh

只要执行如下命令即可

sh /volume1/SuperHDD/nginx_backup.sh

根据自己具体路径来,不要死记硬抄。

定时备份只需要把执行脚本命令 sh /volume1/SuperHDD/nginx_backup.sh 加入计划任务即可。

注意计划任务执行权限也要选择 root 账户,避免出现各种权限问题。

脚本分 DSM6、DSM7 两种,分别适配两种系统(备份脚本通用,恢复脚本不通用。)。大家按需使用即可。

脚本下载地址

今天教程到此结束,完结撒花。

原文链接:http://app.myzaker.com/news/article.php?pk=617c1bcfb15ec0667616a5ad&f=normal

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享