Получил уведомление от мониторинга о повышенном потреблении ресурсов.

Пошёл смотреть - какие-то пидорасы дрочат мой Forgejo несмотря на то, что там в robots.txt запрещена индексация абсолютно всем.

Причём, дрочат хитро:

маскируясь под браузеры
используя адресы из нескольких /16 (!) подсетей (47.79.0.0/16, 47.82.0.0/16, ...).

Слава Сысоеву - запилил маппинг этих самых /16 подсетей и поставил рейт-лимит в 2 запроса в секунду на подсеть после первых 100 запросов.

Пусть теперь поиндексируют репозитории, сучечки.

#shit #crawling #git #Forgejo #Nginx #server #log #bots

Follow

@skobkin Каким инструментом рейтлимитишь? Зарейтлимиченные в очередь встают и ждут ответа или получают эксплицитный отлуп?

@L29Ah

Каким инструментом

limit_req_zone, limit_conn_zone, limit_req, limit_conn.

Зарейтлимиченные в очередь встают и ждут ответа или получают эксплицитный отлуп?

429 с ноги в лицо.
Это мой личный Forgejo. Если кто-то туда пришёл и неистово дрочит страницы с сорцами, то идут они нахуй.
А склонировать через Git даже жирную репу это не помешает:

Cloning into 'masto-fe-gts-forced-instance'... remote: Enumerating objects: 229278, done. remote: Counting objects: 100% (114/114), done. remote: Compressing objects: 100% (76/76), done. remote: Total 229278 (delta 39), reused 68 (delta 32), pack-reused 229164 (from 1) Receiving objects: 100% (229278/229278), 236.51 MiB | 6.50 MiB/s, done. Resolving deltas: 100% (169032/169032), done.

Или просто бегло попереключать страницы нормальному юзеру тоже, т.к. там выдаётся очень жирный кредит в N первых запросов на подсеть и только потом начинается лимит.

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.