如何解决 GeoIP 错误:打开文件 /usr/share/GeoIP/GeoIP.mmdb 时出错

如何解决 GeoIP 错误:打开文件 /usr/share/GeoIP/GeoIP.mmdb 时出错

我是 GeoIP 解决方案的新手。旧版 GeoIP 数据库的一些方面已经发生改变,这让它看起来更复杂一些。

我在 AWS Linux 上

我已经安装了 GeoIP:

rpm -qa |grep GeoIP

GeoIP-devel-1.4.8-1.5.amzn1.x86_64

GeoIP-1.4.8-1.5.amzn1.x86_64

apache/httpd 是:

rpm -qa |grep httpd

httpd24-2.4.41-1.88.amzn1.x86_64

httpd24-工具-2.4.41-1.88.amzn1.x86_64

我已经在 maxmind 网站上建立了一个帐户,并像这样填充了 /etc/GeoIP.conf:

截短

帐户 ID 已删除

LicenseKey 已删除

版本 ID GeoLite2-ASN GeoLite2-城市 GeoLite2-国家

结束剪辑

我在 /var/log/httpd/error_log 中看到的错误如下:

打开文件 /usr/share/GeoIP/GeoIP.mmdb 时出错

打开文件 /usr/share/GeoIP/GeoIP.mmdb 时出错

打开文件 /usr/share/GeoIP/GeoIP.mmdb 时出错

遍历数据库时出现错误 ipnum = 886277125 - 也许数据库已损坏?

遍历数据库时出现错误 ipnum = 886277125 - 也许数据库已损坏?

遍历数据库时出现错误 ipnum = 168300841 - 也许数据库已损坏?

遍历数据库时出现错误 ipnum = 168300643 - 也许数据库已损坏?

遍历数据库时出现错误 ipnum = 168300841 - 也许数据库已损坏?

遍历数据库时 ipnum = 0 出错 - 也许数据库已损坏?


因此我检查了是否能够从数据库中提取信息:

mmdblookup --file /usr/share/GeoIP/GeoLite2-Country.mmdb --ip xxx.xxx.xxx.x 国家名称 en

“爱尔兰”

因此,现在我们知道 GeoIP db 包含数据;我们知道它正确地识别了我们测试服务器的 IP 地址的原籍国。此时的问题是 apache 仍然无法加载 GeoIP db。

我不清楚下一步该采取什么步骤来排除故障。

另外,我不确定这有多重要,但这是安装在 Jira/Confluence 服务器上的,因此 apache/httpd 服务会监听 443,然后将流量传递给 java 实例。我认为这并不重要,因为流量首先到达 apache。似乎 apache 由于某种原因无法访问 geoip 数据库。我尝试从 root 更改数据库的所有权为 apache:apache,但这也没有用。

下一步是什么?

    [Wed Jan 22 21:14:25.057803 2020] [so:warn] [pid 13168] AH01574: module ssl_module is already loaded, skipping
    VirtualHost configuration:
    *:443                  redacted
 (/etc/httpd/conf.d/ssl.conf:77)
    *:80                   redacted
 (/etc/httpd/conf/httpd.conf:359)
    ServerRoot: "/etc/httpd"
    Main DocumentRoot: "/var/www/html"
    Main ErrorLog: "/etc/httpd/logs/error_log"
    Mutex default: dir="/var/run/httpd/" mechanism=default
    Mutex mpm-accept: using_defaults
    Mutex cache-socache: using_defaults
    Mutex authdigest-opaque: using_defaults
    Mutex watchdog-callback: using_defaults
    Mutex proxy-balancer-shm: using_defaults
    Mutex rewrite-map: using_defaults
    Mutex ssl-stapling-refresh: using_defaults
    Mutex authdigest-client: using_defaults
    Mutex lua-ivm-shm: using_defaults
    Mutex ssl-stapling: using_defaults
    Mutex proxy: using_defaults
    Mutex authn-socache: using_defaults
    Mutex ssl-cache: using_defaults
    PidFile: "/var/run/httpd/httpd.pid"
    Define: DUMP_VHOSTS
    Define: DUMP_RUN_CFG
    User: name="apache" id=48
    Group: name="apache" id=48

相关内容