1

我有一个在本地环境中使用的 php docker 容器。

在 dockerfile 我把这个

RUN apt-get install -y \
    geoip-bin \
    geoip-database \
    libgeoip-dev
RUN pecl install geoip-1.1.1
RUN docker-php-ext-enable geoip
RUN echo "geoip.custom_directory=\"/usr/share/GeoIP/\"" >> /usr/local/etc/php/conf.d/docker-php-ext-geoip.ini
RUN wget "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-City&license_key=TOTOTOT&suffix=tar.gz" -O /usr/share/GeoIP/GeoLiteCity.tar.gz && gunzip --force /usr/share/GeoIP/GeoLiteCity.tar.gz && ln -s /usr/share/GeoIP/GeoLiteCity.dat /usr/share/GeoIP/GeoIPCity.dat

不幸的是,有时当我尝试访问某些 IP 地址时,我会收到以下错误“无法在数据库中找到 ip”。

所以我的问题如下。我看到当您提供像 88.168.67.43 这样的 ip 时,它找不到有关它的信息。因为在 maxmind 文件中,我们需要一些带有 /24 的内容,即 CIDR。

Maxmind 提供了一个将 CIDR 格式的文件转换为经典 csv 的程序。但我得到一个 mmdb 文件而不是 csv 文件....关于如何使用正确的 ip 地址获取文件的任何想法?

或者如果我可以轻松地将我的 ip 从 88.168.67.43 更改为 CIDR 表示法?

4

0 回答 0