我已经用Laravel开发了一个应用程序(它与站点构建器一样),客户端可以将他们的信息添加到他们的配置文件中,最后,他们可以将一个域放置到配置文件中(通过为域设置我的DNS )。
在应用程序控制器中,我将获得域名(使用request()->getHost()),并加载正确的配置文件。
当我通过向/etc/hosts添加一个示例域在本地测试我的应用程序时,一切都很好。
我的问题在服务器上,因为我需要为每个域添加一个DNS区域(据我所知),我想知道有什么解决方案可以从MySQL数据库而不是文件中读取DNS记录吗?因为BIND将从文本文件加载DNS区域,所以我不想生成该文件。
服务器是CentOS 8。
发布于 2020-04-25 19:53:10
您可以切换到PowerDNS而不是BIND吗?PowerDNS支持从MySQL数据库中读取MySQL记录,并且有一个JSON来添加/删除记录,您可以从应用程序中使用这些记录(它将处理诸如适当地递增序列号之类的事情),而不是手动操作其数据库。
发布于 2020-04-25 19:54:07
BIND具有名为动态可加载区域(DLZ)的数据库支持。
DLZ (动态可加载区域)是绑定9的扩展,它允许直接从外部数据库检索区域数据。没有必需的格式或架构。DLZ驱动程序存在于几个不同的数据库后端,包括PostgreSQL、MySQL和LDAP,并且可以为其他任何后端编写驱动程序。
还有一篇关于在绑定中使用DLZ的文章。
https://serverfault.com/questions/1014154
复制相似问题