Discourse 如何配置 MAXMIND 来对 IP 地址反向查询

:warning: 【配置 MAXMIND,Discourse 需要重新构建,这将会导致服务中断。 】


什么是 MAXMIND 和为什么我们需要使用这个服务

Discourse 使用 MAXMIND 来通过 IP 地址反向查询具体的物理地址。


如果 Discourse 没有配置 Maxmind’s 数据库,我们看到的配置信息如下:


或者在对 Discourse 容器重新编译的时候,看到下面的信息:

MaxMind IP database updates require a license
Please set DISCOURSE_MAXMIND_LICENSE_KEY to one you generated at https://www.maxmind.com

为什么我们需要对 IP 地址进行查询

我们通常使用 IP 的地址查询来了解访问系统中的用户地址,这些用户是谁并且是在哪里访问我们的额网站。如果有问题的话,你还可以了解到,这些用户 Special-ISP" 经常访问我的网站。

从 Discourse 2.2.0.beta4 版本开始,Discourse 同时使用这些 IP 地址信息来通知管理员有新的登录地址来访问你的网站。

如果你不配置 Maxmind 数据库,Discourse 没有办法向管理员提供上面的信息。

如果我没有这个 Key 会有什么问题

如果你对上面提到的这些问题并不是非常关心的话,那么就算不配置 maxmind 数据库也没有关系。

最差的情况就是没有办法获得新 IP 地址用户访问通知和查询具体用户的 IP 地址信息。

当然,你也可以拷贝 IP 地址到其他开放的网络上进行查询。

如何获得 Key

请查看 Maxmind’s https://support.maxmind.com/hc/en-us/articles/4407111582235-Generate-a-License-Key 网站页面来获得如何创建 Key 的文章。

  • 访问 GeoLite2 Sign Up 页面。
  • 在 “My License Keys” 链接页面中创建一个 Key。你需要对创建的 Key 进行保存,如果 Key 丢失的话,你需要重新创建一个 Key。

把你获得的 Key 添加到 app.yml 的 ENV 环境变量中,配置文件看起来如下:

  DISCOURSE_MAXMIND_LICENSE_KEY: your-key-here

或者通过 discourse-setup 来进行配置。

IPv6 用户说明

Discourse 的默认安装方式并不能百分之一百的支持 IPv6。

如果你的服务器配置了 IPv6,你需要确定 Discourse 能够获得用户真实的 IPv6 地址。

通常可以通过在 Discourse 中设置反向代理来完成这个配置,通常这个配置需要更多的管理员配置。

 

https://www.ossez.com/t/discourse-maxmind-ip/14445

 

posted @ 2023-05-23 23:32  huyuchengus  阅读(33)  评论(0编辑  收藏  举报