![共享托管环境中的辅助 DNS 解决方案](https://linux22.com/image/579699/%E5%85%B1%E4%BA%AB%E6%89%98%E7%AE%A1%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E8%BE%85%E5%8A%A9%20DNS%20%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88.png)
我正在参与一个自定义共享托管解决方案,我们需要 DNS 或路由解决方案方面的帮助。目前,用户域指向他们的共享,但其中必须包含辅助名称。
例如:aaron.server1.mydomain.com
我们将 user.domain.com 指向 user.secondary.domain.com 的最佳方法是什么?
重定向需要适用于 http/ftp/ssh。
简单来说,我们有一个主服务器和从属服务器,我们希望每个用户都有自己的域/子域。CNAME 是显而易见的答案,但它是唯一的解决方案吗?因为如果我们有很多客户端,那么就会在我们的 DNS 服务器上创建大量 DNS 记录。
答案1
如果您可以控制 DNS,则可以设置 CNAME 记录。
user.domain.com. CNAME user.secondary.domain.com.
如果您仅通过登录名而不是 IP 或域名来区分客户端,它也适用于 FTP 和 SSH。因为域名将在客户端进行 DNS 解析后消失(在连接之前)。对于 HTTP,Host:
如果您强制使用 HTTP/1.1,则标头将为您服务。
答案2
考虑编写脚本。如果您可以写入 DNS 服务器可以读取的文件,那么您可以从脚本生成所有 CNAME 记录。让 BIND 读取多个文件并定期重新加载它们很容易。
您也没有说明您使用的是 Linux 还是 Windows。我相信 Windows DNS 可以读取外部配置文件,就像 Linux 上的 BIND 一样。