![CloudFlare 如何保护网站?](https://linux22.com/image/573469/CloudFlare%20%E5%A6%82%E4%BD%95%E4%BF%9D%E6%8A%A4%E7%BD%91%E7%AB%99%EF%BC%9F.png)
我对 CloudFlare 提供的保护有些困惑。我www
使用橙云direct
以及另一个带有灰云的子域(假设)。但是当我tracert
转到www.example.com
或时direct.example.com
,两者的路由和结束 IP 相同。
我期望www
子域名以某些 CloudFlare IP 结尾。这正常吗?
答案1
traceroute
(或者tracert
如果你使用的是 Windows)并不是一个理想的工具,无法找出域映射到哪个 IP 地址。也不是,ping
因为有些人使用它。虽然它们都首先进行域到 IP 地址的查找,但这与它们的主要功能无关。
如果您想知道某个域的 IP 地址,专门为此目的而设计的工具是nslookup
和dig
。 (nslookup
在 Windows 上也存在。 dig
如果您在 Windows 上安装了 Cygwin 或使用任何 Unix 或 Linux 变体,则可以使用。)
为了使 CloudFlare 正常工作,您在使用nslookup
或dig
访问域时获取的 IP 地址应为 CloudFlare 要求您使用的 IP 地址。如果它仍然是您的 IP 地址,则说明您没有使用 CloudFlare。
域名系统中有很多缓存。如果您最近将域名更改为指向 CloudFlare,但上述某个工具仍将其视为指向您的服务器,则可能是由于缓存造成的。 dig
还将打印出任何结果的 TTL 值,该值表示该结果将继续缓存多长时间。您可以dig
直接从权威名称服务器获取其结果,从而避免这种缓存。(这就是为什么是比或 更适合处理 DNS 的dig
工具的原因。)此命令是您的名称服务器在哪里,您的域在哪里。ping
traceroute
dig @ns1.example.com www.example.com
ns1.example.com
www.example.com
来自常见问题解答,CloudFlare 要求您将您的权威名称服务器更改为他们的。此设置也可以缓存,并且通常具有非常长的 TTL(多天并不罕见)。
即使你仍然看到旧的缓存 IP 地址,只要您在使用权威名称服务器时看到 CloudFlare 的 IP 地址,有些人可能拥有正确的 IP 地址。在这种情况下,您将在 Web 服务器日志中看到来自CloudFlare 的 IP 地址。
如果你想在日志中记录访问者的原始 IP 地址,mod_cloudflare 适用于 Apache并且还有针对其他平台的解决方案。
CloudFlare 为您提供的保护来自三个不同的方面:
- 它们充当您网站的反向代理。与所有反向代理设置一样,这意味着它们只会向原始 Web 服务器发出有效请求。它们也不会人为地减慢请求速度,因此 Slow Loris 攻击(例如)不会影响您的 Web 服务器。
- 它们会缓存您的静态内容。这意味着,如果您最终从 Slashdot 或 Reddit 首页获得链接,则只有大约 1/10 的流量会到达您的服务器。其余 9/10 将直接由 CloudFlare 提供服务。这也可以帮助缓解 DDoS 攻击,具体取决于其规模和您的容量。
- 它们可以过滤掉电子邮件收集机器人、博客评论垃圾邮件发送者、暴力登录尝试和已知软件漏洞,例如您经常看到的攻击 phpMyAdmin、Wordpress 和 Joomla 的漏洞。使用 Pro 帐户,它们还可以过滤掉检测到的任何 XSS 和 SQL 注入尝试。
答案2
如果您在 DNS 设置中将 www 和根域标记为橙色云,则它们肯定是代理的。但是,我们无法代理直接记录,因此它将终止于服务器 ip(CloudFlare 可以代理的端口)。