我是 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