我们有一台 Windows 服务器,上面托管着 100 多个网站。
一些工具(例如 whoishostingthis.com)提供托管服务提供商的名称,而一些工具(例如 domaintools.com)则使用反向 IP 功能提供托管在特定 IP 上的网站的域名。
我们想要的是隐藏服务器 IP,以便其他人难以找到托管在我们的服务器上的网站/域名以及我们的服务器的托管提供商。
为此,我们尝试了 cloudflare.com。它位于访问者和我们的托管服务提供商之间。因此,cloudflare 的 dns 设置为我们的域,从而避免暴露我们的服务器 IP。但是,cloudflare 对于批量域名来说确实很贵,而且他们的免费计划有一些限制。我们不需要 cloudflare 提供的 CDN 或缓存等附加功能。
我们尝试了第三方 DNS 服务,例如 Amazon Route 53 或 dnsmadeeasy.com,但 whoishostingthis.com 仍然能够告知主机提供商的名称。
实现这一目标的最简单方法是什么?我们知道有决心的人仍然可以找到这些详细信息,但我们至少想让这项任务变得更加困难。我们应该搜索哪些服务?主要关注的是定价,因为我们有 100 多个域名。
答案1
我们想要的是隐藏服务器IP
不可能。这就像隐藏你的电话号码 - 并且仍然期望别人给你打电话。这根本行不通。
您可以隐藏 IP,但您不能隐藏 IP 并同时将其公开发布在全球目录中(DNS 并非唯一)。任何厌倦使用第三方 DNS 服务的人都需要上一门基础课程 - 他显然根本不了解 DNS 的工作原理。您必须发布 IP,否则就无法联系到您。就这样。
Cloudflare(或类似的代理服务)是唯一可能的好解决方案 - 而他们的免费计划在我看来与“根本没有解决方案”非常相似,因此“昂贵”实际上不适用于任何逻辑。付费计划中有更好的优惠,但代理主要是代理。
答案2
当然可以。您可以租用优质的 GNU/Linux VPS(OVH 每月约 5.99 美元,不计量带宽),然后借助 iptables PREROUTE 链将端口 80 和 443 上的所有流量重新路由到 Windows Server。这样,您的 Windows Server 将接收来自 VPS 服务器的所有通信,并仅通过它来回答所有 Web 请求。但是,根据您的 Web 应用程序,这可能是一个限制,因为您将永远无法看到或检测到 Web 访问者的公共 IP 地址(在重新路由期间,它们将被您的 VPS 服务器 IP 地址覆盖)。如果我到目前为止提到的不是问题,您可以更进一步隐藏 Web 服务器的身份,通过简单的 Windows 防火墙规则删除来自不同于 VPS 服务器 IP 地址的 IP 地址的端口 80 和 443 上的所有通信。
这样做的一大优点是您不会遇到任何速度损失,例如 VPN(加密、解密通信抖动约 30% 到 40% 的带宽损失)或反向代理(除了您的 Windows 服务器和您的 VPS 盒之间的连接开销,但这在任何其他现有场景中都是不可避免的)。
之后只需将您的网站 DNS A 记录指向 GNU/Linux VPS 盒 IP 地址。
我希望这有帮助。
PS 我们用几台网络服务器甚至一台完整的 SMTP/POP3/IMAP 服务器(使用动态 IP)进行了此操作。Gmail 和 Hotmail 甚至没有注意到后者有什么不对劲 ;)