【配置 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 中设置反向代理来完成这个配置,通常这个配置需要更多的管理员配置。