如何在 Nginx 或 Rails 中仅针对特定 IP 进行缓存

如何在 Nginx 或 Rails 中仅针对特定 IP 进行缓存

我们在 nginx/passenger 服务器上运行了一个 Rails 2.3.8 应用程序。最近,爬虫程序给我们带来了巨大的负载。我们想打开页面缓存仅供爬虫使用(特定 IP 地址),即爬虫获取的是每天都会过期的静态页面。问题是:

  • 我们应该在 Nginx 还是 Rails 中来做?

  • 如何实现这种 IP 级缓存策略

我在 Google 上搜索了 nginx 和 rails,但目前还没有找到。非常感谢大家的反馈!

答案1

我宁愿查看User-Agent字符串来检测爬虫。然后,您可以使用 Nginx 中的重写或 Rails 中的视图逻辑来显示所需内容。无论哪种方式都行得通,这只是您最熟悉哪种技术的问题。

相关内容