Discourse uses MAXMIND to provide geographical information for reverse IP lookups.
Without Maxmind’s database you’ll see something like this:
Or perhaps you’ve noticed this message fly by when you rebuild your container:
MaxMind IP database download requires an account ID and a license key
Please set DISCOURSE_MAXMIND_ACCOUNT_ID and DISCOURSE_MAXMIND_LICENSE_KEY. See https://meta.discourse.org/t/configure-maxmind-for-reverse-ip-lookups/173941 for more details.
Why would I care?
It’s often useful for moderators to see where someone is logging in from to determine if the person is who (and where) they say they are or to diagnose problems with your site. (“Oh, we frequently see problems with Special-ISP”.)
Also, as of 2.2.0.beta4, Discourse also uses this information to notify admins if a login is seen from a new location. Without the Maxmind database, Discourse cannot provide this notification.
What if I don’t setup a MaxMind account and generate a license key
You won’t be able to do reverse lookups. If the issues above do not concern you, then it is a good bet that nothing bad will happen if you just ignore this.
How do I setup a MaxMind account and obtain an Account ID and a license key?
generate a license key on the Manage License Keys tab in the left navigation bar once you’ve logged in. Generate a new key, and copy the account ID and the license key. If you lose it, you’ll need to generate a new one.
You then add that key to the ENV section of your app.yml with a line like this:
The Standard install doesn’t fully support IPv6 out of the box. If you have a server with IPv6 configured and need Maxmind information for IPv6 addresses, you’ll need to make sure that the user’s actual IP address is what is getting to Discourse, normally by using an external proxy that passes the remote IP address to Discourse. This requires more systems administration expertise than the standard install.
O engraçado, porém, é que ninguém mais reclamou em 3 anos! É uma wiki, então você pode consertar. Tentarei atualizar quando chegar a um computador, se conseguir me lembrar.
Sério!? E eu passei um bom tempo criando isso. Não tenho certeza de como deixei passar que o link funcionava apenas para mim, mas acho que ter que fazer login foi o suficiente para me distrair e talvez muitas outras pessoas.
Provavelmente é desnecessário dizer para a maioria aqui, mas alguém que usa uma VPN pode gerar mais alertas do que outros. É um incentivo para os administradores, mas não indica necessariamente um usuário nefasto.
Com licença,
Quando o Discourse realiza uma consulta de IP (IP reverso) para o painel de administração, ele se baseia em um banco de dados GeoIP offline ou consulta uma API externa a cada vez?
Para contextualizar, minha preferência é lidar com as consultas de IP offline, apontando o Discourse para um arquivo local GeoLite2-City.mmdb, em vez de chamar uma API externa.
Bem, estou preso. Acho que estou configurado corretamente, mas estou recebendo um erro 401 ao baixar os bancos de dados da MaxMind.
Estou em uma instalação padrão, auto-hospedada e atualizada.
Criei uma conta na MaxMind e adicionei uma nova chave de licença.
Editei a seção ENV do app.yml para:
## A chave de endereço IP de geolocalização da MaxMind para consulta de endereço IP
## veja https://meta.discourse.org/t/-/137387/23 para detalhes
DISCOURSE_MAXMIND_ACCOUNT_ID: [meu ID de conta]
DISCOURSE_MAXMIND_LICENSE_KEY: [minha chave de licença]
… e depois executei ./launcher rebuild app
Durante a reconstrução, esses erros “401 Unauthorized” foram registrados:
Baixa do banco de dados MaxMind GeoLite2-City falhou. : OpenURI::HTTPError : Erro 401
Baixa do banco de dados MaxMind GeoLite2-ASN falhou. : OpenURI::HTTPError : Erro 401
(… e, claro, nenhum arquivo de banco de dados chegou ao meu /var/www/discourse/vendor/data)