假设有以下情况:doamin1.com
,domain2.com
和domain3.com
,和server1
,server2
和server3
。server4
我想要的是像 CloudFlare 这样的简单服务器,DNS 指向两个不同的服务器,但实际的服务器是最终用户看不到的第三个服务器。
与 CF 一样,当您启用云并 ping 域时,您将看到 CF 的 IP。
我想要这个,但想代理所有 DNS。我的意思是我在 SSH 中手动编辑 Bind。
有没有简单的方法可以做到这一点?还是需要更多服务器和技术?
答案1
这不是“DNS代理”——而是HTTP反向代理。
尽管您在 CF 中通过 DNS 控制面板激活它,但它与 DNS 代理几乎没有关系;启用“云”按钮只是将您的真实服务器从 DNS 中完全删除,并将其替换为 CF 的反向代理服务器的 IP 地址。
因此,为了自己完成此操作,您还需要设置一个“HTTP 反向代理”服务器 - 有很多选项,例如 HAproxy/Nginx/Traefik/Caddy 通常用于反向代理。(即使带有“ProxyPass”的 Apache httpd 也可以用于小型网站。)
设置反向代理服务器后,只需编辑 DNS 以将所有域指向代理服务器的 IP 地址而不是真实的 Web 服务器。