Как устранить ошибку GeoIP: ошибка открытия файла /usr/share/GeoIP/GeoIP.mmdb

Как устранить ошибку GeoIP: ошибка открытия файла /usr/share/GeoIP/GeoIP.mmdb

Я новичок в решении GeoIP. Некоторые вещи изменились относительно устаревших баз данных GeoIP, из-за чего все стало казаться немного сложнее.

Я использую AWS Linux

Я установил GeoIP:

об / мин -qa |grep GeoIP

GeoIP-devel-1.4.8-1.5.amzn1.x86_64

GeoIP-1.4.8-1.5.amzn1.x86_64

apache/httpd — это:

об / мин -qa |grep httpd

httpd24-2.4.41-1.88.amzn1.x86_64

httpd24-tools-2.4.41-1.88.amzn1.x86_64

Я создал учетную запись на сайте maxmind и заполнил /etc/GeoIP.conf следующим образом:

СНИП

AccountID отредактирован

Лицензионный ключ отредактирован

EditionIDs 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 содержит данные; мы знаем, что она правильно определяет страну происхождения IP-адреса для нашего тестового сервера. Проблема на этом этапе заключается в том, что Apache все еще не может загрузить базу данных GeoIP.

Мне не ясно, какие следующие шаги следует предпринять для устранения неполадки.

Кроме того, я не уверен, насколько это важно, но это устанавливается на сервере Jira/Confluence, поэтому служба apache/httpd прослушивает порт 443, а затем передает трафик экземпляру java. Я не думаю, что это действительно важно, потому что трафик сначала попадает в apache. Похоже, что apache по какой-то причине не может получить доступ к базе данных geoip. Я пробовал изменить владельца базы данных на apache:apache с root, но это тоже не сработало.

Каковы дальнейшие шаги?

    [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

Связанный контент