Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,075 of 9,075 pages
About the help in other languages
All help pages

Request Shield: unter Velocity

Was für den Request Shield anders ist, wenn Exponential Velocity die Website ausliefert - die Prepend-Datei in index.php, der Neustart nach Änderungen am Hook, gemeinsame Zähler mit set store file, das sichere…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/request-shield/under-velocity.md

On this page

This page is a translation. Read the English original

Request Shield: unter Velocity

Exponential Velocity hält PHP-Worker zwischen den Anfragen am Laufen. Der Shield schützt die Anfragen über Velocity genauso wie die über PHP-FPM, mit identischen Antworten: derselbe Status, dieselben Header, dieselbe Protokollzeile. Hinter den Kulissen funktionieren einige Dinge anders.

Inhalt

  1. Wie der Shield jede Anfrage erreicht
  2. Wann Sie Velocity neu starten
  3. Zähler, die alle Prozesse teilen
  4. Die Extension aktualisieren
  5. Warum die Antworten gleich sind

Wie der Shield jede Anfrage erreicht

Unter PHP-FPM läuft config.php bei jeder Anfrage, also läuft der Shield dort. Unter Velocity läuft config.php einmal pro Worker, wenn der Worker startet. Der Hook nennt seine Datei deshalb in EXP_REQUEST_PREPEND_FILE, und index.php führt diese Datei zu Beginn jeder Anfrage aus.

Das setzt das index.php von 6.0.15 voraus. Mit einem älteren werden die Anfragen über Velocity nicht gefiltert, die über PHP-FPM schon. Die Übersicht meldet dann „Der Shield lief für diese Seite nicht“, wenn Sie sie über Velocity öffnen.

Wann Sie Velocity neu starten

ÄnderungNeustart?
Hook-Zeilen in config.php hinzugefügt oder entferntja: ./console exp:velocity restart
eine Regeldatei geändert oder ein Modus auf der Übersicht gewechseltnein: innerhalb von recheck Sekunden neu gelesen
Pausieren oder Einschaltennein: ab der nächsten Anfrage
die Extension aktualisiertja, mit einer Pause davor und danach (unten)

Zähler, die alle Prozesse teilen

Velocity betreibt mehrere Prozesse. Mit dem Speicher in APCu würde jeder Prozess für sich zählen, und eine über die Worker verteilte Anfrageflut erreichte ihr Limit später. set store file in der Regeldatei lässt alle Worker, und PHP-FPM, wenn es dieselbe Website ausliefert, die Zähler in var/request-shield/store/ teilen. Der Kasten Einrichtung auf der Übersicht zeigt den Speicher und seine Stufe.

Die Extension aktualisieren

Ein Worker, der die alten Klassen schon geladen hat, darf nicht auf die neuen Dateien treffen. Aktualisieren Sie in dieser Reihenfolge:

  1. Pausieren (oder var/request-shield/PAUSED anlegen).
  2. Die Extension aktualisieren.
  3. ./console exp:velocity restart.
  4. Einschalten (oder PAUSED entfernen).

Warum die Antworten gleich sind

In einem Velocity-Worker löst exit() das Exit-Signal von Velocity aus, damit die Anfrage endet und nicht der Worker. Die Extension lässt dieses Signal durch, wenn der Shield geantwortet hat (eine Abweisung, die Browserprüfung, eine seiner eigenen Seiten), sodass nichts es für ein Versagen des Shields hält. Sollte eine künftige Bibliothek ihre inneren Schritte ändern, bemerkt die Extension das und greift auf den einfachen Aufruf der Bibliothek zurück; die Antworten bleiben richtig, nur der Debug-Header und das Fehlerlog von PHP zeigen dann wieder „shield error“. Die Einzelheiten stehen in doc/velocity.md der Extension (auf Englisch).

Velocity allgemein: Velocity ist Teil von Exponential 6.0.15.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x