Dram

Рейтинг
1115
Регистрация
28.06.2008
smbbws:
В map статус не работает... Вроде бы...

Походу Вы правы, добавил в коду юзерагент своего браузера

...

503:~*YaBrowser 1;

...

Зажал F5 получил 503 ошибку, но лог так и остался пустым.

сделал так

map $status:$http_user_agent $good_useragent {
default 0;
503:~*YandexAccessibilityBot 1;
503:~*YandexDirect 1;
503:~*YandexImages 1;
503:~*Yahoo 1;
503:~*Mediapartners-Google 1;
503:~*YandexBot 1;
503:~*Googlebot 1;
503:~*msnbot 1;
503:~*bingbot 1;
503:~*Mail 1;
}

+ в хост

access_log /var/log/nginx/access.good_useragent.log combined if=$good_useragent;

лог создался, пока пустой - все правильно?

Вы имеете в виду limit_req_status ? Так она ж вроде только сообщает нгихс какую ошибку выводить на прерывание запроса. Как мне это может подойти?

Можно ли в мап совместить ошибку и юзерагент? Хочу в отдельный лог собирать потенциально хороших ботов получивших 503 ошибку

по типу

map $error_page:$http_user_agent $good_useragent {
default 0;
503:~*YandexAccessibilityBot 1;
503~*YandexDirect 1;

То что не знаю как прописать выделил жирным

---------- Добавлено 26.01.2017 в 15:55 ----------

Наверное нужно сначала объявить как-то error_page 503 $error_page; но что дальшеделать не врублюсь

А лимиты на подлючения как они обходят? Со скорость 7 запросов в мин. вы будите парсить мой сайт пару мес.

Но в целом я с вами согласен - захотят спарсить, купят прокси.

Если будут получать ошибку, начнут разбираться, выявят где спотыкаются и добавят это условие. Нужно будет - будут и картинки со стилями загружать....

Я не спорю что спарсить все что угодно. Моя защита - это тормоз автоботов :)))

У меня тоже сам серв делает много запросов, я его добавил в белый список и все ок.


#ФОРМИРУЕМ БЕЛЫЙ СПИСОК IP

geo $whitelist {
default 0;
# ip server
155.551.155.155 1;

...................

Вот мой рабочий конфиг (белый лист работает) - там у меня нгихс + пхп фм.

У вас там еще и апач да? Вот тут описана ваша ошибка

limiting requests, excess: 200.200 by zone "one"

https://habrahabr.ru/company/netangels/blog/149302/

burst=2000 nodelay

Это одномоментный/не лимитируемый всплеск. Как бы лично в моей голове не вяжется понятие "лимит" и такие всплески :)))) Не каждый хороший сервер такое переварит :)

---------- Добавлено 26.01.2017 в 09:11 ----------

При превышении запрос завершается с ошибкой 444

Неверно - ошибка будет 503

Что это за треш? :)))))) Вы понимаете значение этих цифр?

rate=1000r/m;
burst=2000

Вот мое решение /ru/forum/comment/14885499

Всего: 6928