Dram

Рейтинг
1115
Регистрация
28.06.2008

Х.З., в любой непонятной ситуации переезжаете на новый выделенный сервер? Идеальный клиент хостера :)

sincera:
Пытаюсь создать лог медленный запросов, для MySQL 5.6.41-1debian8

log_slow_queries = /var/log/mysql/mysql-slow.log
long_query_time = 1

но ничего не появляется в логах

А мускуль вы после этого перезагрузили?

ТС не пытается сам думать и анализировать, ждет когда ему весь конфиг распишут и в личку пришлют.

Находит где-то куски чужих (моих) конфигов - бездумно их копирует и пишет - "не работает", "что прописать", "куда прописать", "как прописать"...

baas:
При блокировки HTTP/1.0 нужно быть осторожным, иначе сео упадет.
Нужно иметь белый список ботов.

Я проверял - из ботов по HTTP/1.0 ходит только одна разновидность ботов майл ру, но так да - у меня конструкция мап сложнее (с белым списком)

---------- Добавлено 22.12.2019 в 14:12 ----------

Anonymous1111:
Ну вот чел писал

Если бы ты был внимательнее, то увидел бы, что это писал я.

У тебя нет белого списка в конфиге, не копируй тупо, включи наконец мозХ и пытайся сам анализировать!

P.S. в сообщении выше ты пытаешься ТУПО копировать мой конфиг, не понимая что там написано.

У тебя Nginx не перезагрузится с ним и выдаст ошибку.

HTTP/2.0 у тебя я уверен что нет и в помине!

---------- Добавлено 22.12.2019 в 14:15 ----------

ставь это в секцию сервер и перезапусти Nginx


map $server_protocol $bad_bot {
default 0;
HTTP/1.0 1;
}
if ($bad_bot) {
return 444;
}

Если перезапустился и сайты работают, лезь в лог и смотри что теперь, какой ответ получают спамеры

---------- Добавлено 22.12.2019 в 14:18 ----------

Anonymous1111:

И чет так же идут мусорные запросы через HTTP/1.0

1. Они и будут идти, просто они теперь не доходят до PHP, Nginx отрубает их ответом 444 не тратя на это почти никаких ресурсов, он так может сотни тысяч переварить и не поперхнется.

2. Ты тупо скопировал мой конфиг с белым списком, котрого у тебя нет - и естественно этот мап просто не работает!

Anonymous1111, еще раз повторяю:

1. Сделайте лимиты

2. Блокируйте по реферу

3. Посмотрите статистику по запросам IP, самых наглых блокируйте (предварительно проверив ip)

4. Забудьте про (GET|HEAD|POST) это тупизна несусветная

Все варианты кодов уже есть в этом топике - сидите, тестируйте.

Что не понятно - читайте доки и снова тестируйте. Так люди и учатся.

Никто не будет за вас писать вам каждую строку конфига.

---------- Добавлено 22.12.2019 в 10:30 ----------

Еще один момент - весь ваш флуд по протоколу HTTP/1.0, это древний протокол и в нормальном режиме по нему уже никто не ходит на сайты.

99% запросов по нему делают боты.

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

map $server_protocol $bad_bot {
default 0;
HTTP/1.0 1;
}
if ($bad_bot) {
return 444;
}

P.S. могу ошибиться в синтаксисе, пишу по памяти, протестируйте...

Anonymous1111:
Бро как мне правильно добавить этот

код

if ($request_method !~ ^(GET|HEAD|POST)$ ) {
return 444;
}

В какую секцию вписать?

Это полнейшая ДИЧЬ! Если блокировать HEAD запросы еще имеет какой-то смысл, то блокировка GET это выстрел себе в ногу. ВСЕ НОРМАЛЬНЫЕ ЗАПРОСЫ - это GET запросы!!! ПРосто выключите тогда сервак, эффект тот же будет :)))

---------- Добавлено 22.12.2019 в 09:01 ----------

Anonymous1111:
После добавления кода в нгинс.конфиг больше ниего не нужно, перезагружать нгинс или сервер?

После любых изменений в конфиге nginx делаете

nginx -t

если ответ

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

значит все норм, ошибок нет, тогда делаете

/etc/init.d/nginx reload

Ну как был Леня уже все вам показал. Смотрите логи, блокируете по реферу и все.

Еще можно сгруппировать запросы по IP и заблокировать самых настойчивых (где счет идет на сотни запросов с 1 ip), только проверьте чтобы это были не поисковики

вот команда

cat /var/log/nginx/access.log | awk '{if ($9=="200") {print $1}}' | sort | uniq -c | sort -nr | head -n 100

либо без запросов к статике

cat /var/log/nginx/access.log | egrep -v 'ico|png|gif|jpg|swf|\.js|\.php|css' | awk '{if ($9=="200") {print $1}}' | sort | uniq -c | sort -nr | head -n 100

Блокировка через фаервол так

iptables -A INPUT -s 213.152.162.104 -j DROP

1. Сколько сайтов на сервере?

2. Какой трафик суммарно на сервер?

3. КОнфиг Nginx один или для каждого сайта еще свои конфиги?

4. Кидай сюда конфиг, скажу что и куда прописать.

Я писал подробно пару страниц назад - траф медицина, блок в самом низу, на 50.000 трафа давал 1500 в день, при плавном снижении трафа в 2 раза, доход рухнул в 10 раз

Я делал эксперемент - подгружал блок рекламы когда юзер прокручивал страницу вниз и до блока оставалось 300 пикселей. % видимости был под 70, доход упал в 5 раз. Вообще - все мои эксперементы делали только хуже. В итоге с 25000 трафа баннер давал 150 р

Всего: 6928