Apache mit 75 % Fehler 404-Antwort

Apache mit 75 % Fehler 404-Antwort

Ich arbeite bei einem ISP und wenn das Guthaben eines Benutzers Null ist, senden alle HTTP-Anfragen zur Zahlung per NAT an meinen Webserver (Apache 2.2).

Wenn das Downloader- oder Autoupdate-Programm des Benutzers ausgeführt wird, gelangen alle diese Anfragen an meinen Webserver und diese Aktion führt dazu, dass 75 % der Apache-Antworten 404 sind.

Ich möchte diese Anforderungspakete begrenzen, zwischenspeichern oder löschen. Hat jemand eine Lösung? Auf Apache-, Firewall- oder Router-Ebene.

Antwort1

Für dieses Problem gibt es keine guten Lösungen – Apache muss die Anfrage verarbeiten, um die Seite „Zahlen Sie, Trottel!“ anzuzeigen. Alles, was Sie tun, um zu verhindern, dass Anfragen an Apache gehen, müsste auf der Netzwerkebene geschehen. Ab diesem Zeitpunkt würden Ihre Benutzer nicht mehr die Captive-Portal-Seite erhalten, sondern stattdessen Ihren Helpdesk anrufen und schreien: „ES IST KAPUTT!“

Ehrlich gesagt, das sollten Sie nichtPflegewenn der Captive-Portal-Server CPU/RAM/was auch immer verschlingt, platzieren Sie die Zahlungsseite auf einer dedizierten Box und lassen Sie sie bearbeiten. Die Leute, die darauf zugreifen, sind Taugenichtse, und wenn sie ein paar Mal auf „Neu laden“ klicken müssen, um auf die Zahlungsseite zu gelangen, dann ist das eben so.


Außerdem sollte Ihr Zahlungsserver wahrscheinlich keine 404-Fehler zurückgebenimmer– Es sollte die Zahlungsseite für jede eingehende Anfrage bereitstellen, unabhängig von der URL …

Antwort2

einige Optionen:

  • Verwenden Sie Nginx oder einen anderen „leichten“ HTTP-Server mit Catch-All-Konfiguration.

  • Verwenden Sie eine iptables-basierte Ratenbegrenzung pro Quell-IP [Schlüsselwörter für Google: iptables hashlimit] und lehnen Sie einen unerwünschten Prozentsatz an Anfragen ab oder löschen Sie ihn stillschweigend und lassen Sie nur wenige durch.

verwandte Informationen