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.
Wann wird der Remote-Dienst verwendet?
Section titled “Wann wird der Remote-Dienst verwendet?”Der Remote-Dienst kann verwendet werden, wenn mindestens eine der folgenden Bedingungen erfüllt ist:
- Für das gewünschte Zielformat ist lokal kein funktionierender Encoder vorhanden.
- 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.
Voraussetzungen
Section titled “Voraussetzungen”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.
Übertragene Anfrage
Section titled “Übertragene Anfrage”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.
Dateigrößenlimit
Section titled “Dateigrößenlimit”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.
Antwortprüfung
Section titled “Antwortprüfung”Eine Remote-Antwort wird nur akzeptiert, wenn:
- der HTTP-Status im 2xx-Bereich liegt;
- ein nicht leerer Binär-Body vorhanden ist;
- die Antwort nicht am Größenlimit abgeschnitten wurde;
- die temporär gespeicherte Datei den erwarteten tatsächlichen MIME-Typ besitzt;
- bei einer regulären Konvertierung die Dateigrößen-/Mindest-Ersparnis-Regeln erfüllt sind.
Erst danach wird die Datei atomar als Variante aktiviert.
Expliziter Remote-Test
Section titled “Expliziter Remote-Test”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.
Endpoint und Token per Konstante
Section titled “Endpoint und Token per Konstante”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.
Erweiterung über Filter
Section titled “Erweiterung über Filter”fg_image_remote_endpointkann die Endpoint-URL verändern.fg_image_remote_allow_insecure_endpointkann HTTP ausdrücklich erlauben.fg_image_remote_request_argskann 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.