Configurar GeoIP para trabajar con Nginx en Debian 11

Configurar GeoIP para trabajar con Nginx en Debian 11

Estoy intentando configurar Nginx v. 1.24.0 y GeoIPupdate para que funcionen de modo que los usuarios que no sean de un país específico no tengan acceso al servidor web.

Sin embargo, a medida que sigo cada guía veo que está desactualizada, o los enlaces no funcionan porque MaxMind los eliminó, o asumen que tengo el módulo necesario para instalarlo.

Incluso la wiki oficial de Nginx no ha sido de ayuda (https://nginx.org/en/docs/http/ngx_http_geoip_module.html)

Estoy al límite de mi ingenio y no sé qué hacer. Todo lo que quiero hacer es saber cómo permitir que GeoIPupdate funcione con Nginx, ya que tengo GeoIPupdate ejecutándose.

Probé esta guía:https://github.com/leev/ngx_http_geoip2_module Pero ahora recibo esto:

Apr 24 15:25:51 localhost nginx[175588]: nginx: [emerg] unknown directive "if($allowed_country" in /etc/nginx/sites-enabled/default:80
Apr 24 15:25:51 localhost nginx[175588]: nginx: configuration file /etc/nginx/nginx.conf test failed

La configuración en cuestión (en la parte del servidor):

        if($allowed_country = no) {
                return 403;
        }

Al verificar los módulos de Nginx, veo que 50-mod-http-geoip.conf existe y debería haberse cargado, pero escribir nginx -V no ingresa el módulo.

La parte más interesante es que nginx.conf funciona con países permitidos, ya que no recibo ningún error.

Respuesta1

Lo arreglé yo mismo de la manera más divertida y triste posible.

Tenga en cuenta que he estado investigando este error extraño durante algunos días y descubrí que se debía a que agregué una pestaña para que mi TOC pudiera estar contento en los archivos de configuración.

Copié y pegué esto y funcionó. https://gist.github.com/dunderrrrrr/8d3fced1f73de2d70ede38f39c88d215

información relacionada