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 часа


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

Зарегистрированные пользователи: Bing [Bot], Google [Bot], Majestic-12 [Bot]


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

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