Настройка GeoIP для работы с Nginx на Debian 11

Настройка GeoIP для работы с Nginx на Debian 11

Я пытаюсь настроить Nginx v. 1.24.0 и GeoIPupdate так, чтобы пользователи, не являющиеся гражданами определенной страны, не получали доступ к веб-серверу.

Однако, следуя каждому руководству, я вижу, что оно устарело: либо ссылки не работают, потому что MaxMind их удалил, либо они предполагают, что у меня установлен необходимый модуль.

Даже официальная вики Nginx не помогла (https://nginx.org/en/docs/http/ngx_http_geoip_module.html)

Я в тупике и не знаю, что делать. Все, что я хочу сделать, это узнать, как разрешить GeoIPupdate работать с Nginx, поскольку у меня запущен GeoIPupdate.

Я попробовал это руководство:https://github.com/leev/ngx_http_geoip2_module Но теперь я получаю это:

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

Рассматриваемая конфигурация (в серверной части):

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

При проверке модулей Nginx я вижу, что 50-mod-http-geoip.conf существует и должен был быть загружен, но команда nginx -V не вводит модуль.

Самое интересное, что nginx.conf работает с разрешенными странами, так как я не получаю от него никаких ошибок.

решение1

Я исправил это сам, используя самые смешные и грустные способы.

Имейте в виду, я уже несколько дней изучаю эту странную ошибку и обнаружил, что она возникла из-за того, что я добавил вкладку, чтобы мое ОКР могло нормально функционировать в файлах конфигурации.

Я скопировал и вставил это, и это сработало. https://gist.github.com/dunderrrrrr/8d3fced1f73de2d70ede38f39c88d215

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