BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Nginx. Настройка GeoIP2 модуля.
СообщениеДобавлено: Пн 16 дек, 2019 6:58 pm 
Не в сети

Зарегистрирован: Вс 26 авг, 2012 1:38 am
Сообщения: 21
Всем привет!
Ребята, прошу помощи в настройке ngx_http_geoip2_module.
Цель: Разрешить доступ к сайту, если IP из UA, RU, DE. Остальным блокировать доступ к сайту.
Nginx установлен с этим модулем.
Nginx -V показывает наличие модуля как динамического.
По ссылке http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz скачал архив и распаковал в /usr/local/share/GeoIP/
Ниже приведу конфиг nginx.conf:
Код:
worker_processes  4;
load_module /usr/local/libexec/nginx/ngx_http_geoip2_module.so;
error_log  /var/log/nginx/error.log;
events {
    worker_connections  1024;
   }
http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    sendfile        on;
    keepalive_timeout  65;
   
  geoip2 /usr/local/share/GeoIP/GeoLite2-Country.mmdb {
  auto_reload 5m;
  $geoip2_data_country_code country iso_code;
      }
   map $geoip2_data_country_code $country_code_allowed {
      default deny;
      UA allow;
      RU allow;
      DE allow;
      }
    server {
        listen       80;
  server_name  site.com;
  server_name _;
  if ($country_code_allowed = deny) {
  return 444;
  }
 return 301 https://site.com$request_uri;
        access_log  /var/log/nginx/access.log  main;
        error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/www/nginx-dist;
        }
    }
    server {
        listen       443 ssl;
        server_name  localhost;
  server_name _;
  server_tokens off;

  root /var/ftp/site;
  index index.php index.html;

  location / {
  try_files $uri $uri/ /index.php?url=$1;
   }
  location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass   unix:/var/run/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param GEOIP_COUNTRY_CODE $geoip2_data_country_code;
        include        fastcgi_params;
        }

  location ~ \.(sql|js|css|png|jpg|gif|swf|ico|pdf|mov|avi|mp4|fla|zip|rar|gz|gzip|csv|doc|docx|xls|xlsx|ppt|pptx|xml)$ {
        try_files $uri =404;
        }

  location ~ /\. {
  deny all;
  access_log off;
  log_not_found off;
  }
}
}

При таком конфиге у меня ничего не блокируется.
Подскажите, где я накосячил?
Заранее спасибо всем за помощь!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Nginx. Настройка GeoIP2 модуля.
СообщениеДобавлено: Пн 16 дек, 2019 8:11 pm 
Не в сети

Зарегистрирован: Вс 26 авг, 2012 1:38 am
Сообщения: 21
Вопрос решен.
Вот этот кусок конфига
Код:
if ($country_code_allowed = deny) {
  return 444;
  }

добавил в секцию для https.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Nginx. Настройка GeoIP2 модуля.
СообщениеДобавлено: Вт 17 дек, 2019 5:43 pm 
Не в сети

Зарегистрирован: Вс 26 авг, 2012 1:38 am
Сообщения: 21
Подыму тему снова.
После добавления куска конфига в секцию HTTPS перестал работать доступ к сайту из локальной сети 10.9.6.0/23.
Из-за пределов офиса все работает и отсекается.
Подскажите, пожалуйста, как вернуть доступ к сайту из локальной сети, оставив блокировку по GeoIP2.
Заранее спасибо всем.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Nginx. Настройка GeoIP2 модуля.
СообщениеДобавлено: Пт 20 дек, 2019 12:00 pm 
Не в сети

Зарегистрирован: Вс 26 авг, 2012 1:38 am
Сообщения: 21
Вопрос решил по этому примеру:
https://serverfault.com/questions/58520 ... ng-lan-ips


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика