Size: a a a

2020 March 22

p

pragus in Go-go!
Паша Калугин
Как можно сделать DOS-protection в Go?
Что вы подразумеваете под этим?
источник

ПК

Паша Калугин in Go-go!
pragus
Что вы подразумеваете под этим?
Чтобы один юзер не смог сделать 100 запросов в секунду из-под одного IP
источник

p

pragus in Go-go!
Паша Калугин
Не хочу просто писать свой велосипед аля не больше 30 запросов в секунду с одного ip
Гуглить рейтлимитер
источник

p

pragus in Go-go!
Паша Калугин
Чтобы один юзер не смог сделать 100 запросов в секунду из-под одного IP
источник

i

inqfen in Go-go!
Паша Калугин
Чтобы один юзер не смог сделать 100 запросов в секунду из-под одного IP
3 правила в iptables
источник

i

inqfen in Go-go!
отправку в цепочку для лимитов, проверка лимита, если превышен- дроп,  если нет - возврат обратно
источник

p

pragus in Go-go!
inqfen
отправку в цепочку для лимитов, проверка лимита, если превышен- дроп,  если нет - возврат обратно
строго говоря, на http2 не будет работать )
источник

OJ

O . J in Go-go!
inqfen
отправку в цепочку для лимитов, проверка лимита, если превышен- дроп,  если нет - возврат обратно
а как тогда 429 отдавать?
просто реджектить не очень гуманно
источник

OJ

O . J in Go-go!
скоре это топорное немного
источник

i

inqfen in Go-go!
ну зато на уровне ядра обрабатывается это быстрее, да и на 429 кмк ботам будет пофиг
источник

p

pragus in Go-go!
inqfen
ну зато на уровне ядра обрабатывается это быстрее, да и на 429 кмк ботам будет пофиг
а http2 выключить, да? )
источник

W

Wingman in Go-go!
pragus
а http2 выключить, да? )
Все равно у всех нжинкс впереди)
источник

i

inqfen in Go-go!
pragus
а http2 выключить, да? )
Если он там вообще есть
источник

W

Wingman in Go-go!
правда, не сработает, если разный рейтлимит для разных клиентов )
источник

p

pragus in Go-go!
Wingman
Все равно у всех нжинкс впереди)
ну тогда можно просто на nginx выставить в настройках )
источник

W

Wingman in Go-go!
pragus
ну тогда можно просто на nginx выставить в настройках )
И тут тоже не сработает)
источник

VM

Vladislav Milenin in Go-go!
Вечер в чятик

Есть такой код:
for {
select {
case data := <-pool[Basic]:
f(data)
continue
default:
}
select {
case data := <-pool[Secondary]:
f(data)
continue
default:
}
select {
case data := <-pool[Other]:
f(data)
default:
}
}


используется для разбора данных с каналов по приоритетам. Как доработать чтобы проц не жрало, без слипов же есть решения?
источник

p

pragus in Go-go!
inqfen
Если он там вообще есть
afaik, оно по дефолту если tls включен
источник

i

inqfen in Go-go!
Wingman
И тут тоже не сработает)
почему, смотря в зависимости от чего надо выставлять
источник

W

Wingman in Go-go!
Хотя есть луа..)
источник