Кэшированные страницы CloudFlare — определение страны

#javascript #php #geolocation #cloudflare

#javascript #php #геолокация #cloudflare

Вопрос:

Я работаю над страницей покупки для нового продукта, который, как ожидает изобретатель, получит значительное освещение в средствах массовой информации (время покажет …). Мы создаем простую страницу продукта на 1 страницу, используя HTML, CSS и страницы оформления заказа Stripe (размещенные).

Мы пытаемся минимизировать объем необходимой серверной логики, поскольку CloudFlare не может кэшировать ее.

Однако нам необходимо показывать цены на продукты в разных валютах в зависимости от того, находится ли посетитель в Великобритании (GBP), Европе (EUR) или США / остальном мире (USD).

CloudFlare передаст заголовок (HTTP_CF_IPCOUNTRY) (при включении) с кодом страны на наш вышестоящий веб-сервер, но это не всегда будет доступно, если мы стремимся кэшировать всю страницу.

Какие-нибудь умные идеи?

Возможно, я думаю, что вызов ajax для службы геолокации?

Ответ №1:

Похоже, для достижения этой цели вам понадобится что-то динамическое. Если вы можете перенести это в службу геолокации с помощью javascript, как вы упомянули, это, вероятно, было бы лучшим.

Если вам в конечном итоге придется создавать динамический компонент самостоятельно, я думаю, у вас будет наименьшее количество динамических запросов, если вы создадите страницу, которая перенаправляет на статическую страницу для каждого региона на основе местоположения пользователя. Такую страницу было бы легко создать в Cloudflare workers и дешево (5 долларов в месяц 0,50 доллара за миллион запросов). Вероятно, вам следует предоставить пользователям возможность переопределять свой регион вручную из-за неточности геолокации ip в целом.

Существует возможность сделать его полностью статичным, запрашивая у пользователя его местоположение из браузера, а затем создавая функцию javascript для сопоставления этого с валютой / регионом, но пользователи, скорее всего, массово отклонят ваш запрос о местоположении, и я бы не счел это действительно полезным вариантом.