1

Я использую Rails 3.1.1, и я хотел бы перенаправить пользователей, например, из U.S.A. в соответствующий поддомен us.site.com (этот размещен на том же сервере, что и site.com). Я знаю, что я могу локализовать пользователя по его/ее IP-адресу, но как я могу это сделать, чтобы перенаправить его/ее в соответствующий субдомен? Существует технология/драгоценный камень для геолокации пользовательских IP-адресов, а затем обработка перенаправления?Как перенаправить пользователей на субдомен по его/ее текущему местоположению?

P.S.: Может быть, по соображениям производительности, я должен использовать ... промежуточное программное

ответ

1

https://rubygems.org/gems/rack-geoipcity - это граффити промежуточного слоя, который я опубликовал, который вы можете использовать, или просто используйте GeoIP gem в своих контроллерах.

С помощью стойки-геоинформации вы будете запрашивать X-заголовки, которые она добавляет, и принять решение на основе этого. Что-то вроде:

if headers['X_GEOIP_COUNTRY_CODE'] == "IN" 
    redirect "/india" 
end 

, хотя я в настоящее время не использую Rails, поэтому он может быть немного другим.

There are plenty to choose from Если вы не хотите использовать MaxMind db.

1

Один подход, который я использовал счастливо в прошлом, чтобы выполнить поиск геолокации через DNS перед тем пользователи подключаются к услуге; таким образом, они автоматически подключаются к ближайшему к нему серверу, вы получаете дешевую и легкую балансировку нагрузки и возможность удалять серверы из активного использования по мере необходимости, а отдельные сайты могут опускаться, не влияя на другие сайты.

OFTC использует автономный инструмент oftcdns для предоставления пользователям ближайших серверов. За время, когда я был администратором сети OFTC, этот инструмент стал резким улучшением по сравнению с запуском более простого DNS-сервера на основе Bind, который не обеспечивал возможности геолокации и осложнял доставку серверов в ротацию и из нее.

Wikipedia использует PowerDNS with a geobackend для предоставления своих услуг geo-ip. PowerDNS определенно хорошо протестирован, обладает высоким спросом.

+0

Просто я хочу перенаправить пользователей на поддомен, размещенный на том же сервере основного домена. Возможно, ваше решение «продвинуто» для моих нужд ... – Backo

+0

@sarnold +1, это выглядит действительно интересно. – iain

+1

@Iain: он определенно решает проблему, которую трудно решить в других моделях, но промежуточное ПО промежуточного уровня похоже на _much_ лучше подходит для Backo. :) – sarnold

Смежные вопросы