作者:转身就买
本篇教程承接上一篇,补充几点进阶使用技巧。
上一篇保姆教程可以看这里
上一篇为了方便大家理解。把解析和代理单独拿出来讲。
这篇主要分三个部分。泛解析、批量编辑反代规则、反代规则备份与还原。
不多废话,我们开始。
首先是泛解析。
开始之前再次推荐站内的申请免费泛域名证书的教程
做反代一定要申请泛域名证书,否则将毫无意义。
下面正式开始
在上一篇中,我们对每个二级域名都进行了独立的 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