RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

User Tools

Site Tools


Sidebar


Навигация

Линкшэринг

ALARM!

Добавить новую страницу

You are not allowed to add pages
linux:nginx:nginx_tnt

nginx: tips & howto

Блокируем через geoip

http://blog.ls20.com/optimizing-nginx-config-for-your-website-or-blog/

Начиная с версии 1.9.11 введена поддержка динамических модулей

Примеры использования модуля - http://nginx.org/en/docs/http/ngx_http_geoip_module.html

yum install nginx-module-geoip
apt-get install nginx-module-geoip  

Добавляем в самое начало файла /etc/nginx/nginx.conf перед блоком http {}

load_module "modules/ngx_http_geoip_module.so";

Коды названий стран

ISO 3166 Country Codes

В блок http {} перед include добавить

    geoip_country /usr/share/GeoIP/GeoIP.dat;
    map $geoip_country_code $allowed_country {
        default yes;
        RU no;
        UA no;
        BY no;
        CN no;
    }

Для блокировки нужно добавить в server {}

    if ($allowed_country = no) {
        return 444;

444 - закрыть соединение без отправки ответа клиенту.

FIXME почитать про GeoIP2

Блокируем поисковых ботов

map $http_user_agent $bad_bot {
    default 0;
    ~(?i)(alexa.com|AltaVista|ApacheBench|Aport|Ahrefs|AhrefsBot|Baiduspider|BLEXBot|CCBot|CommentReader|Copier|Crowsnest|DISCo|discobot|ExpertSearch|ExpertSearchSpider|FairShare|FeedFetcher|FlaxCrawler|FastSeek|FlappyBot|FlashGet|GetRight|GetWeb!|Grabber|g00g1e|HTTrack|ia_archiver|LeechFTP|LeechGet|Linguee|LinkBot|MauiBot|MJ12|MJ12bot|netvampire|Offline|PycURL|Python|QuerySeekerSpider|Ruby|Seopult|Semrush|SEMrushBot|SputnikBot|spbot|SputnikFaviconBot|SputnikImageBot|Sogou|TalkTalk|Teleport|uTorrent|urllib|Vampire|vkShare|WebCopy|WebCopier|WebCollector|WebSpider|WebStripper|WebWhacker|Yeti|YottosBot) 1;
}

В server {} добавить в нужное место

if ($bad_bot = 1) { return 403; }

Для проверки представимся ahrefsom

curl http://localhost -H 'User-Agent: Ahrefs' -I

Блокируем реферальный спам

1 Добавляес в http {} спам домены

map $http_referer $bad_referer {
    hostnames;
    default                           0;
    "~*best\-seo\-solutions\.com"     1;
    "~*buy\-cheap\-online\.net"       1;
    "~*get\-free\-traffic\-now\.biz"  1;
}

Добавляес в server {} для нужного сайта

server {
	if ($bad_referer) {
		return 444;
	}
}

Можно использовать готовый черный список через include

http {
	include referral-spam.conf;
}

В этом нам поможет ngx_http_map_module

Discussion

Enter your comment. Wiki syntax is allowed:
 
linux/nginx/nginx_tnt.txt · Last modified: 2020/04/03 14:48 by dx