CloudFlare 缓存页面 - 国家检测

CloudFlare cached pages - country detection

我正在为一种新产品制作购买页面,发明者希望该产品获得大量媒体报道(时间会证明...)。我们正在使用 HTML、CSS 和 Stripe 的(托管)结帐页面构建一个简单的单页产品页面。

我们正在尝试最大程度地减少所需的 back-end 逻辑量,因为 CloudFlare 无法对其进行缓存。

但是,我们确实需要以不同货币显示产品定价,具体取决于访问者是在英国 (GBP)、欧洲 (EUR) 还是 US/Rest 世界 (USD)。

CloudFlare 会将带有国家代码的 header (HTTP_CF_IPCOUNTRY)(打开时)传递给我们的上游网络服务器 - 但如果我们打算缓存整个页。

有什么妙招吗?

我在考虑 ajax 调用 geo-location 服务?

看来你需要一些动态的东西来实现这一点。如果您可以像您提到的那样使用 javascript 将其卸载到地理定位服务,这可能是最好的。

如果您最终不得不自己制作动态组件,我认为您可以通过制作一个根据用户位置重定向到每个区域的静态页面的页面来获得最少的动态请求。像这样的页面在 Cloudflare 工作人员中很容易制作而且便宜(5 美元/月 + 每百万请求 0.50 美元)。由于 ip 地理定位通常不准确,您可能应该为用户提供手动覆盖其区域的选项。

有一个选项可以通过从浏览器询问用户他们的位置然后制作一个 javascript 函数将其映射到 currency/region 来使其完全静态,但用户可能会拒绝你的大量的位置请求,我认为这不是一个真正有用的选项。