### [开源彩虹聚合DNS管理系统](https://www.qiqiwa.com/article/103) **Published:** 2026-02-10T13:33:01 **Author:** Hello **Excerpt:** 一个站点就能管理多个平台的域名解析管理,申请证书以及部署到宝塔面板的彩虹聚合DNS管理系统。这是一个基于ThinkPHP开发的网站程序——彩虹聚合DNS管理系统,当下已支持的域名解析平台如下:阿里云、腾讯云、华为云、百度云、西部数码、火山引 一个站点就能管理多个平台的域名解析管理,申请证书以及部署到宝塔面板的彩虹聚合DNS管理系统。这是一个基于ThinkPHP开发的网站程序——彩虹聚合DNS管理系统,当下已支持的域名解析平台如下:阿里云、腾讯云、华为云、百度云、西部数码、火山引擎、DNSLA、CloudFlare、Namesilo、PowerDNS,以及更多等。目前作者还在持续更新中。 ## 程序截图 **演示截图** ![](https://www.qiqiwa.com/wp-content/uploads/2026/02/51e0586e8520260210211355-1024x457.png) ![](https://www.qiqiwa.com/wp-content/uploads/2026/02/bd4dc75c2520260210211355-1024x491.png) ![](https://www.qiqiwa.com/wp-content/uploads/2026/02/d2bf57147320260210211355-1024x498.png) ![](https://www.qiqiwa.com/wp-content/uploads/2026/02/1965dca58a20260210211355-1024x493.png) ![](https://www.qiqiwa.com/wp-content/uploads/2026/02/QQE688AAE59BBE20241221154804-1024x525.png) ![](https://www.qiqiwa.com/wp-content/uploads/2026/02/QQE688AAE59BBE20241221154702-1024x526.png) ![](https://www.qiqiwa.com/wp-content/uploads/2026/02/QQE688AAE59BBE20241221154652-1024x533.png) ![](https://www.qiqiwa.com/wp-content/uploads/2026/02/QQE688AAE59BBE20241221154857-1024x526.png) ![](https://www.qiqiwa.com/wp-content/uploads/2026/02/QQE688AAE59BBE20240501104352-1024x517.png) ## 功能特性 - 多用户管理,可为每个用户可分配不同的域名解析权限; - 提供API接口,可获取域名单独的登录链接,方便各种IDC系统对接; - 容灾切换功能,支持ping、tcp、http(s)检测协议并自动暂停/修改域名解析,并支持发送通知; - 定时切换功能,设置在指定时间/周期,自动修改/开启/暂停/删除域名解析; - CF优选IP功能,支持获取最新的Cloudflare优选IP,并自动更新到解析记录; - SSL证书申请与自动部署功能,支持从Let’s Encrypt等渠道申请SSL证书,并自动部署到各种面板、云服务商、服务器等; - 支持邮件、微信公众号、Telegram、钉钉、飞书、企业微信等多种通知渠道。 ## 部署方式 - [宝塔部署](javascript:;) - [Docker 部署](javascript:;) 1、运行环境要求PHP8.0+,MySQL5.6+ 2、设置网站运行目录为public 3、设置伪静态为ThinkPHP 4、访问网站,会自动跳转到安装页面,根据提示安装完成 5、访问首页登录控制面板 首先需要安装Docker,然后执行以下命令拉取镜像并启动(启动后监听8081端口): ``` docker run --name dnsmgr -dit -p 8081:80 -v /var/dnsmgr:/app/www netcccyun/dnsmgr ``` 访问并安装好后如果容灾切换未自动启动,重启容器即可: ``` docker restart dnsmgr ``` 从国内镜像地址拉取: ``` docker pull swr.cn-east-3.myhuaweicloud.com/netcccyun/dnsmgr:latest ``` ### docker-compose 部署 [](https://github.com/netcccyun/dnsmgr#docker-compose-%E9%83%A8%E7%BD%B2) ``` services: dnsmgr-web: container_name: dnsmgr-web stdin_open: true tty: true ports: - 8081:80 volumes: - ./web:/app/www image: netcccyun/dnsmgr depends_on: - dnsmgr-mysql networks: - dnsmgr-network dnsmgr-mysql: container_name: dnsmgr-mysql restart: always ports: - 3306:3306 volumes: - ./mysql/conf/my.cnf:/etc/mysql/my.cnf - ./mysql/logs:/logs - ./mysql/data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=123456 - TZ=Asia/Shanghai image: mysql:5.7 networks: - dnsmgr-network networks: dnsmgr-network: driver: bridge ``` 在运行之前请创建好目录 ``` mkdir -p ./web mkdir -p ./mysql/conf mkdir -p ./mysql/logs mkdir -p ./mysql/data vim mysql/conf/my.cnf [mysqld] sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION ``` 登陆mysql容器创建数据库 ``` docker exec -it dnsmgr-mysql /bin/bash mysql -uroot -p123456 create database dnsmgr; ``` 在install界面链接IP填写dnsmgr-mysql ## 伪静态规则 - [Nginx](javascript:;) - [Apache](javascript:;) ``` location ~* (runtime|application)/ { return 403; } location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } } ``` ``` Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] ``` ## 项目地址 Github:[彩虹聚合DNS管理系统](https://github.com/netcccyun/dnsmgr) **Tags:** PHP, SSL, 开源项目 **Categories:** 项目笔记 ---