我对CloudFlare提供的保护有点困惑。 我正在通过CloudFlare与一个橙色云 ,以及另一个子域(我们说direct )用一个灰色云来引导www子域。 但是,当我tracert到www.example.com或direct.example.com路由和结束IP是相同的两个。
我期待的www子子域在一些CloudFlare IPs结束。 这是正常的吗?
traceroute (或者tracert如果你在Windows上)不是一个理想的工具来找出一个域映射到哪个IP地址。 由于有些人使用这种方法, ping也不是。 虽然他们都做IP地址查找域作为他们做的第一件事,这是偶然的主要function。
如果你想知道一个域的IP地址,专门为此devise的工具是nslookup和dig 。 ( nslookup存在于Windows上,如果你在Windows上安装Cygwin或者使用任何Unix或Linux版本, dig是可用的。)
为了使CloudFlare正常工作,当您使用nslookup或dig您的域名时,您获得的IP地址应该是CloudFlare告诉您使用的IP地址。 如果它仍然是您的IP地址,则说明您没有使用CloudFlare。
域名系统中有很多caching。 如果您最近已将域名更改为指向CloudFlare,但上述其中一个工具仍将其视为指向您的服务器,可能是由于caching。 dig也会打印出任何结果的TTL值,这个结果会指示这个结果将被持续caching多久。 你可以告诉dig直接从权威的名字服务器得到它的结果,这将避免这种caching。 (这就是为什么dig是比ping或traceroute处理DNS更合适的工具。)这个命令是dig @ns1.example.com www.example.com其中ns1.example.com是你的名字服务器和www.example.com是您的域名。
从常见问题解答中 ,CloudFlare要求您将权威名称服务器更改为他们的名称服务器。 这个设置也可以被caching,并且通常有一个非常长的TTL(多天不是罕见的)。
即使您仍然看到旧的caching的IP地址,只要您在使用权威名称服务器时看到CloudFlare,那么有些人可能会拥有正确的IP地址。 在这种情况下,您将看到来自CloudFlare的IP地址的 Web服务器日志中的命中。
如果你想在你的日志中使用访问者的原始IP地址, mod_cloudflare可以用于Apache,并且有其他平台的解决scheme。
您从CloudFlare获得的保护来自三个不同的方面:
如果您在DNS设置中将它们标记为橙色云,则www和root域名肯定应该被代理。 但是,我们不能代理直接logging,所以它会终止在服务器IP( 端口CloudFlare可以代理 )。