Skip to content

Remote-Encoder-Fallback

Der Remote-Encoder ist in FG Image WP standardmäßig deaktiviert. Er dient als optionaler serverseitiger Fallback für WebP- und AVIF-Konvertierung und ersetzt die lokale Verarbeitung nicht als primären Pfad.

Der Remote-Dienst kann verwendet werden, wenn mindestens eine der folgenden Bedingungen erfüllt ist:

  1. Für das gewünschte Zielformat ist lokal kein funktionierender Encoder vorhanden.
  2. Ein lokaler, grundsätzlich verfügbarer Encoder endet bei der konkreten Konvertierung mit einem Laufzeitfehler.

Ein absichtlicher lokaler Skip – beispielsweise weil die erzeugte Datei die konfigurierte Mindest-Ersparnis nicht erreicht – löst keinen zweiten Optimierungsversuch per Remote-Dienst aus.

Normale Frontend-Aufrufe kontaktieren den Remote-Dienst nicht.

Damit der Remote-Fallback als konfiguriert gilt:

  • die Remote-Funktion muss aktiviert sein;
  • ein gültiger Endpoint muss vorhanden sein;
  • wp_safe_remote_post() muss verfügbar sein;
  • der Endpoint muss einen Host enthalten;
  • Benutzername/Passwort in der URL sind nicht zulässig;
  • standardmäßig muss HTTPS verwendet werden.

HTTP kann ausschließlich über fg_image_remote_allow_insecure_endpoint ausdrücklich freigegeben werden und ist nicht die Standardkonfiguration.

Bei einer tatsächlichen Remote-Konvertierung wird die Bilddatei als binärer HTTP-Body übertragen. Der Request enthält unter anderem:

Bestandteil Inhalt
Content-Type erkannter MIME-Typ der Quelldatei
Accept gewünschter Ziel-MIME-Typ
X-FG-Image-Protocol 1
X-FG-Image-Output-Mime image/webp oder image/avif
X-FG-Image-Quality konfigurierte Qualität
X-FG-Image-Plugin-Version aktuelle Plugin-Version
Authorization optional Bearer …, wenn ein Token konfiguriert ist
HTTP-Body komplette Quelldatei

FG Image setzt für diese Requests keine Besucher-Cookies. Der Request wird mit deaktivierten Redirects, Response-Größenlimit und – bei HTTPS – aktiver TLS-Zertifikatsprüfung ausgeführt.

Weitere Datenschutzinformationen: Datenschutz und Datenverarbeitung.

Die maximale Quelldatei ist standardmäßig auf 10 MB begrenzt und kann in der Konfiguration zwischen 1 und 100 MB gesetzt werden. Größere Dateien werden nicht an den Remote-Dienst übertragen.

Die maximal akzeptierte HTTP-Antwort wird zusätzlich begrenzt. Der Code setzt sie auf mindestens 5 MB und höchstens 50 MB, abhängig vom konfigurierten Quelllimit.

Eine Remote-Antwort wird nur akzeptiert, wenn:

  1. der HTTP-Status im 2xx-Bereich liegt;
  2. ein nicht leerer Binär-Body vorhanden ist;
  3. die Antwort nicht am Größenlimit abgeschnitten wurde;
  4. die temporär gespeicherte Datei den erwarteten tatsächlichen MIME-Typ besitzt;
  5. bei einer regulären Konvertierung die Dateigrößen-/Mindest-Ersparnis-Regeln erfüllt sind.

Erst danach wird die Datei atomar als Variante aktiviert.

Der Adminbereich besitzt einen Remote-Schreibtest. Dieser Test verwendet ein synthetisches 1×1-PNG und keine Datei aus der Mediathek. Das Ergebnis wird für einen Tag im Transient fg_image_remote_capabilities gespeichert.

Der normale Produktions-Check führt keinen Remote-Request aus. Ist Remote konfiguriert, aber noch nicht getestet und lokal fehlt der Encoder, kann der Produktions-Check dies als Warnung ausgeben.

Neben der Admin-Konfiguration stehen zur Verfügung:

define('FG_IMAGE_REMOTE_ENDPOINT', 'https://encoder.example.test/convert');
define('FG_IMAGE_REMOTE_TOKEN', 'token-aus-serverkonfiguration');

Diese Konstanten überschreiben die entsprechenden gespeicherten Werte, sofern sie nicht leer sind.

  • fg_image_remote_endpoint kann die Endpoint-URL verändern.
  • fg_image_remote_allow_insecure_endpoint kann HTTP ausdrücklich erlauben.
  • fg_image_remote_request_args kann zusätzliche Header oder harmlose Transportdetails ergänzen.

Nach dem Request-Args-Filter erzwingt FG Image erneut zentrale Sicherheitsmerkmale wie den binären Quellbody, Pflichtheader, Cookie-Freiheit, Redirect-Sperre, Response-Limit und bei HTTPS die TLS-Prüfung.

Die Signaturen stehen unter Entwicklerschnittstellen.