这个问题与这个问题几乎相同:如果请求被 Varnish 缓存,如何将其记录到 Apache 访问日志中
但是,假设我使用的是 CloudFlare,而不是 varnish。
有什么方法可以将访问日志发送到我的服务器吗?或者我完全依赖 CDN 提供的工具?
我的意思是访问由我的服务器外部的 Cloudflare/cache 系统直接提供的缓存内容,例如 pdf 文件或静态 html。
答案1
所以这取决于可用的工具。例如,CF 不允许您访问任何日志,它只显示一些页面访问计数器,但不显示 IP 用户等的详细信息。
最好的方法可能是类似 Google Analytics 的解决方案。在后端添加一些 JavaScript,以使用正确的信息向服务器发出请求。但这种方法有几个复杂之处:
-很难通过 javascript 获取用户的 IP,甚至是执行 javascript 的服务器的 IP。其他用户可以轻易修改它。
-如果您使用缓存,则意味着您担心性能,每次查看页面时发送请求都会给您的服务器增加大量负载。因此,您可能会使用不同的服务器来处理这些请求。
如果有其他人知道这样的非常智能的系统,请告诉我。