Как перенаправить пользователей на поддомен в зависимости от его / ее текущего местоположения? - PullRequest
1 голос
/ 05 января 2012

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

PS : Может быть, из соображений производительности мне следует использовать промежуточное ПО ...

Ответы [ 2 ]

1 голос
/ 05 января 2012

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

При использовании стеллажа geoipcity вы запросите X- заголовки, которые он добавляет и принимает решение на основе этого.Что-то вроде:

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

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

Есть из чего выбрать , если вы неНеобычно использовать MaxMind DB.

1 голос
/ 05 января 2012

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

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

Википедия использует PowerDNS с геобэкэндом для предоставления своих услуг гео-ip.PowerDNS - это, безусловно, хорошо протестированный инструмент с высокими требованиями.

...