Настройка MAXMIND для обратных IP-запросов

Что такое MAXMIND и зачем он мне нужен?

Discourse использует MAXMIND для предоставления географической информации при обратном поиске по IP-адресу.

Без базы данных Maxmind вы увидите что-то вроде этого:

Или, возможно, вы замечали это сообщение, появляющееся при пересборке вашего контейнера:

Загрузка базы данных IP-адресов MaxMind требует идентификатора аккаунта и лицензионного ключа.
Пожалуйста, установите переменные DISCOURSE_MAXMIND_ACCOUNT_ID и DISCOURSE_MAXMIND_LICENSE_KEY. Дополнительные сведения см. по адресу https://meta.discourse.org/t/configure-maxmind-for-reverse-ip-lookups/173941.

Почему это важно?

Модераторам часто полезно видеть, откуда пользователь входит в систему, чтобы определить, является ли он тем (и находится ли там), за кого себя выдает, или для диагностики проблем на вашем сайте. («О, мы часто сталкиваемся с проблемами у Special-ISP».)

Кроме того, начиная с версии 2.2.0.beta4, Discourse также использует эту информацию для уведомления администраторов, если вход выполнен из нового местоположения. Без базы данных Maxmind Discourse не может предоставлять такие уведомления.

Что будет, если я не создам аккаунт MaxMind и не сгенерирую лицензионный ключ?

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

Как создать аккаунт MaxMind и получить идентификатор аккаунта и лицензионный ключ?

Актуальные инструкции см. на странице MaxMind: Generate a license key. Однако вам необходимо:

  • Перейти на страницу регистрации GeoLite2.
  • После входа в систему сгенерировать лицензионный ключ на вкладке Управление ключами лицензии в левой панели навигации. Создайте новый ключ и скопируйте идентификатор аккаунта и лицензионный ключ. Если вы его потеряете, вам придется сгенерировать новый.

Затем добавьте этот ключ в секцию ENV вашего файла app.yml, добавив строки вида:

  DISCOURSE_MAXMIND_ACCOUNT_ID: ваш-идентификатор-аккаунта
  DISCOURSE_MAXMIND_LICENSE_KEY: ваш-ключ

Или введите их при использовании discourse-setup, когда система попросит об этом.

Примечания для пользователей IPv6

Стандартная установка не поддерживает IPv6 полностью «из коробки». Если у вас настроен сервер с поддержкой IPv6 и вам нужна информация MaxMind для адресов IPv6, убедитесь, что Discourse получает реальный IP-адрес пользователя. Обычно это делается с помощью внешнего прокси, передающего удаленный IP-адрес в Discourse. Это требует более глубоких знаний системного администрирования, чем стандартная установка.

31 лайк