예를 들어, 내 웹 서버 포트에는 다음과 같은 규칙이 있습니다.
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m limit --limit 1/m --limit-burst 15 -j ACCEPT #If you spam concurrently for 15 times ++ you'll be blocked for 1 minute ~
기본적으로 사용자가 브라우저의 새로 고침 버튼을 스팸으로 보내거나 F5 키를 누르고 있으면 나머지 1/m 간격이 완료될 때까지 차단됩니다.
내 문제는 한도에 도달하면 사용자가 더 이상 연결할 수 없다는 것입니다. 이것은 이 사용자만 연결할 수 없다는 뜻인가요, 아니면 다른 모든 사용자의 포트 80도 닫혀 있다는 뜻인가요?
답변1
모든 사람. limit
대회에 대한 추가 자격은 없습니다.
hashlimit
일치가 더 구성 가능합니다.
iptables 확장통과하다iptables.
여러 "사용자"가 단일 IP(NAT, http 프록시, CGNAT) 뒤에 있을 수 있습니다.
여기서 가장 좋은 방법이 무엇인지 모르겠습니다. 그러나 HTTP는 지속적인 연결을 지원하기 때문에 이 구현은 쓸모없어 보입니다. 이러한 관점에서 보면 Apache mod_evasive가 더 좋습니다.
만약 너라면아니요영구 연결을 사용하면 이 제한으로 인해 즉시 차단됩니다. 이것웹사이트는 평균 100개의 리소스를 로드합니다.(!)