Witam
W jaki sposób można zabezpieczyć się przed zabiciem serwera przez trzymanie klawisza F5?
Użycie go przez kilkanaście sekund na dużym skrypcie PHP może zabić cały serwer.
Nawet na serwerach home.pl czy innych można dostać komunikat server overloaded (zakładam, że dotyczy to zasobów jednego konta, ale jednak).
Wiem, że jest mod_evasive.
Zainstalowałem go. Skrypt dołączony do archiwum pokazuje, że działa:
root@server:/usr/src/mod_evasive# ./test.pl
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 200 OK
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
HTTP/1.1 403 Forbidden
Konfiguracja jest standardowa, czyli:
<IfModule mod_evasive20.c>
DOSHashTableSize 3097
DOSPageCount 2
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10
</IfModule>
Pomimo to jak zastosuję F5 na jednym z cięższych (jeśli chodzi o PHP'a) skryptów to nic się nie dzieje. Load serwera wzrasta, a ja nie jestem w żaden sposób ograniczany. Strona generuje około 120 requestów.
Problemem jest sam config czy może powinienem poszukać jakiegoś innego rozwiązania?
Nakierujcie mnie co może być nie tak. Może powinienem coś pokombinować z konfiguracją?
Już kombinowałem, ale niewiele się zmieniło. Odświeżanie strony za każdym razem zapycha serwer i muszę odczekać aż apache przemieli wszystkie procesy.
Używam apache'a 2.4 z mod_ruid2 + DA.
Pozdrawiam