2011-11-29 38 views
2

我正在开发您的标准高流量的电子商务网站,并希望设置与清漆缓存。这种设置的特殊之处在于应用程序将根据用户的特定位置返回不同的内容。缓存与光油和变化的自定义设置HTTP标头

所以我的计划是这些:

  • Nginx的安装与GeoIP的模块,这样我就可以得到一个X-国家:XX头部上进入应用后端的所有请求。
  • 配置Rails应用程序始终返回“Vary:X-Country”响应标头。
  • 把Nginx的和应用后端背后的光油服务器,因此它可以基于nginx的设置请求头缓存由Rails的服务对象的多个版本,并为他们提供服务(客户端浏览器)

有没有人有像这样的设置的经验?我应该注意的任何事情?

+1

仅供参考:我问过类似的问题,并得到了正确的答案。] [1] [1]:http://stackoverflow.com/a/20753737/579448 – Josef

回答

0

如果GeoIP查询速度慢,并且/或者您希望人们可以覆盖国家/地区设置,则可以使用国家/地区 cookie并让前端清漆检查它。

  • 如果没有国家cookie,将请求转发到您的nginx后端以进行GeoIP查找。 Nginx提供一个Set-Cookie: country=us标题的重定向。如果你想避免重定向和支持cookie拒绝客户端/机器人,ngingx可以转发到Rails,并仍然尝试在响应中设置国家cookie。或清漆可以捕获重定向响应,并做了“重启”与新设置的cookie,并转到后端
  • 如果你已经有一个国家的cookie,你光油哈希使用

如果Rails可以做GeoIP的解析,你不需要Ngingx,除非你用它来提供文件......