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

news2025/1/11 7:59:52

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/561558.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

leetcode 数据库题 196,197,262,511,550,570

leetcode 数据库题第二弹 196. 删除重复的电子邮箱197. 上升的温度262. 行程和用户511. 游戏玩法分析 I550. 游戏玩法分析 IV570. 至少有5名直接下属的经理577. 员工奖金小结 196. 删除重复的电子邮箱 题目地址:https://leetcode.cn/problems/delete-duplicate-emai…

二、服务网关-Gateway

文章目录 一、服务网关1、网关介绍2、Spring Cloud Gateway介绍3、搭建server-gateway模块3.1 搭建server-gateway3.2 修改配置pom.xml3.3 在resources下添加配置文件3.4添加启动类3.5 跨域处理3.5.1 为什么有跨域问题?3.5.2解决跨域问题 3.6服务调整3.7测试 一、服…

chatgpt赋能Python-python_pulp包怎么安装

Python Pulp包的安装方法 如果你正在进行线性规划或整数规划问题的研究或解决,那么Python Pulp包是一个非常实用的工具,它可以快速、高效地解决这些问题。但是,在使用Python Pulp包的过程中,你可能会遇到一些安装问题。本文将介绍…

Http协议网络读卡器Aspx网页Request获取刷卡数据Response回应驱动显示

三种提交方式可自由设置 RFID网络WIFI无线TCP/UDP/HTTP可编程二次开发读卡器POE供电语音-淘宝网 (taobao.com) HttpReader.aspx.cs using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebCont…

C/C++ 数据结构设计与应用(四):C++数据压缩与传输:从理论到实践的全景解析

C数据压缩与传输:从理论到实践的全景解析 一、数据压缩的策略与方法 (Strategies and Methods of Data Compression)1.1 数据压缩的基本概念与原理 (Basic Concepts and Principles of Data Compression)1.2 C中的数据压缩技术 (Data Compression Techniques in C)1…

总结vue3 的一些知识点

vue3 支持 jsx 安装依赖 pnpm add vitejs/plugin-vue-jsxvite.config.ts 中引用插件 import { defineConfig } from "vite" import vue from "vitejs/plugin-vue" import vueJsx from "vitejs/plugin-vue-jsx" // https://vitejs.dev/config/ex…

Golang每日一练(leetDay0075) 打家劫舍II、最短回文串

目录 213. 打家劫舍 II House Robber ii 🌟🌟 214. 最短回文串 Shortest Palindrome 🌟🌟🌟 🌟 每日一练刷题专栏 🌟 Rust每日一练 专栏 Golang每日一练 专栏 Python每日一练 专栏 C/C…

android App外包开发技术难点

在开发android App时需要注意一些技术问题,包括设备兼容、性能优化、安全问题及用户体验,这些问题往往是android App的通用问题,每个android App的项目都有这些问题,今天和大家分享一下这方面的知识,希望对大家有所帮助…

研发工程师玩转Kubernetes——使用环境变量给容器中程序传递参数

在《研发工程师玩转Kubernetes——构建、推送自定义镜像》中,Pod的IP是通过代码获取的 def get_ip():try:s socket.socket(socket.AF_INET, socket.SOCK_DGRAM)s.connect((8.8.8.8, 80))ip s.getsockname()[0]finally:s.close()return ip实际我们可以在清单文件中…

python 正则表达式使用总结

re库使用 re.findall import re## 存在匹配的 txt "ai aiThe rain in Spain" x re.findall("ai", txt) print(x) # 没有匹配的 txt "adafda dafasdf" x re.findall("ai", txt) print(x)s中国人adfadsfasfasdfsdaf中国万岁\n pri…

chatgpt赋能Python-python_pythonw

Python和Pythonw——SEO助您成功 Python和Pythonw是两个最广泛使用的编程语言之一。不仅是它们提供了丰富的编程功能和轻松上手的学习曲线,它们还具有出色的SEO优化功能,因为它们是自由和开源的。 Python是什么? Python是一种高级编程语言…

SpringCloud微服务踩坑系列:参数不全造成的空指针

服务一直报500错误,看了一下后台出现了空指针异常 异常如下: java.lang.NullPointerException: null at com.cyf.serviceOrder.service.OrderInfoService.add(OrderInfoService.java:93) ~[classes/:na] at com.cyf.serviceOrder.controller.Or…

chatgpt赋能Python-python_qq群

Python QQ群:学习Python的最佳社区 Python是一个非常流行的编程语言,因其简单易学、可读性高等特点,备受开发人员的青睐。为了交流学习Python,越来越多的人开始组建Python QQ群。本文将介绍Python QQ群的意义、特点和如何找到合适…

深入理解Java虚拟机:JVM高级特性与最佳实践-总结-10

深入理解Java虚拟机:JVM高级特性与最佳实践-总结-10 虚拟机类加载机制类加载的过程初始化 类加载器类与类加载器双亲委派模型 虚拟机类加载机制 类加载的过程 初始化 类的初始化阶段是类加载过程的最后一个步骤,前几个类的加载动作里,除了…

Unity 新建你的第一个游戏,以及如何按WASD控制角色运动 (Unity Demo2D)

文章目录 初始化项目新建角色物体游戏资源管理试着导入资源试着管理资源试着使用资源 脚本是啥新建脚本编辑脚本行为逻辑按键检测获取按键移动位置★ 最终代码 (有基础请直接跳到这) 初始化项目 当你打开 Unity Hub,初始化一个 2D 项目,进入了 Unity 编…

人工智能TensorFlow MNIST手写数字识别——训练篇

上期我们分享了CNN的基本结构,本期我们就拿MNIST数据集来训练一下手写数字的数据库,以便我们下期能够使用训练好的模型,来进行手写数字的识别。 分享一下几个可视化网站,可以看到神经网络的识别过程。 http://scs.ryerson.ca/~aharley/vis/conv/ 1、插入MNIST数据集 #利…

Java安全和防护:如何保护Java应用程序和用户数据的安全

第一章:引言 在当今数字化时代,Java已经成为主流的编程语言之一。无论是企业级应用程序还是个人项目,Java应用程序都承载着大量的敏感数据和业务逻辑。然而,随着网络攻击日益猖獗,保护Java应用程序和用户数据的安全变…

Java-API简析_java.lang.Package类(基于JDK1.8)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/130806567 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…

什么是 Spring?为什么学它?

前言 欢迎来到本篇文章!在这里,我将带领大家快速学习 Spring 的基本概念,并解答两个关键问题:什么是 Spring,以及为什么学习 Spring。 废话少说,下面,我们开始吧! Spring 官方文档…

MySQL索引详解(IT枫斗者)

MySQL索引详解 什么是索引 官方介绍索引是帮助MySQL高效获取数据的数据结构。简单来讲,数据库索引就像是书前面的目录,能加快数据库的查询速度。事实上,索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数…