彩虹DNS - 实现一个平台管理多平台域名解析

前言

因为域名价格的问题,有些人和我一样在华为云和阿里云都有域名,那如何管理它们呢。

简介

聚合DNS管理系统可以实现在一个网站内管理多个平台的域名解析,目前已支持的域名平台有:

  • 阿里云
  • 腾讯云
  • 华为云
  • 西部数码
  • DNSLA
  • CloudFlare

功能特性

  • 多用户管理,可为每个用户可分配不同的域名解析权限
  • 提供API接口,可获取域名单独的登录链接,方便各种IDC系统对接
  • 容灾切换功能,支持ping、tcp、http(s)检测协议并自动暂停/修改域名解析,并支持邮件、微信公众号通知
  • CF优选IP功能,支持获取最新的Cloudflare优选IP,并自动更新到解析记录

部署方法

Release页面下载安装包

运行环境要求PHP7.4+,MySQL5.6+

设置网站运行目录为public

设置伪静态为ThinkPHP

如果是下载的Source code包,还需Composer安装依赖(Release页面下载的安装包不需要)

composer install --no-dev

访问网站,会自动跳转到安装页面,根据提示安装完成

访问首页登录控制面板

伪静态规则

Nginx

location / {
	if (!-e $request_filename){
		rewrite  ^(.*)$  /index.php?s=$1  last;   break;
	}
}

Apache

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule

docker部署

首先需要安装Docker,然后执行以下命令拉取镜像并启动(启动后监听8081端口):

docker run --name dnsmgr -dit -p 8081:80 -v /var/dnsmgr:/app/www netcccyun/dnsmgr

访问并安装好后如果容灾切换未自动启动,重启容器即可:

docker restart dnsmgr
THE END