
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