CDN Product Images: Konfiguration
Admin-Konfiguration des Sylius-Plugins CDN Product Images: CDN-Domain, Signing-API und Token-Lebenszyklus.
CDN Product Images: Konfiguration
Diese Dokumentation bezieht sich immer auf die aktuellste veroeffentlichte Version.
Live Demo: Teste dieses und weitere Plugins live — ohne Installation, ohne Risiko: demo.markus-michalski.net
Admin-Oberfläche
Die Konfiguration ist vollständig Admin-editierbar, nicht über Umgebungsvariablen gesteuert: Admin-Sidebar → MMKreativ Plugins → CDN Integration.
| Einstellung | Standard | Beschreibung |
|---|---|---|
| CDN-Domain | leer | Host (und bei lokaler Entwicklung Port) der eigenen mm-media-cdn-Instanz, z.B. cdn.example.com oder localhost:8090 |
| Signing-API-URL | leer | Basis-URL des signing/-Microservice von mm-media-cdn, z.B. https://signing.example.com |
| Signing-API-Token | leer | Bearer-Credential für die Signing-API, nicht der rohe imgproxy-Schlüssel. Verschlüsselt gespeichert; leer lassen beim Speichern = aktuelles Token bleibt unverändert |
| URL-Schema-Override | leer (= Vorgabe des Signing-Service) | nur für lokale Entwicklung ohne TLS, z.B. http |
Solange CDN-Domain/Signing-API-URL/Token leer sind, erkennt das Plugin schlicht keine URL als CDN-fähig - jedes Bild läuft dann entweder über den normalen lokalen Upload-Pfad oder als unveränderte fremde URL weiter. Nichts stürzt ab.
Token-Lebenszyklus
- Das Feld zeigt den aktuellen Token-Wert nie an (auch nicht verschlüsselt) - nur den Status "konfiguriert" / "nicht konfiguriert" / "gespeichert, aber nicht mehr entschlüsselbar".
- Zum Entfernen eines Tokens den dedizierten "Remove token"-Button über dem Formular nutzen (mit Bestätigungsdialog), nicht das Feld leeren und speichern - das lässt das gespeicherte Token unverändert.
- Eine Rotation des eigenen
APP_SECRET/kernel.secretmacht ein gespeichertes Token dauerhaft unentschlüsselbar. Nichts stürzt ab, aber CDN-Bilder werden nicht mehr signiert, bis das Token über dieselbe Einstellungsseite erneut eingetragen wird. - Die aufgelösten Einstellungen sind selbst kurz zwischengespeichert - eine Änderung wirkt innerhalb von etwa einer Minute, ohne manuelles Cache-Leeren.
Voraussetzungen im Container
Das Plugin braucht einen HTTP-Client und einen Cache-Pool im Container der Host-App (autowired über HttpClientInterface/CacheInterface) - jede Symfony-App mit aktiviertem framework.http_client und dem Standard-cache.app-Pool bringt beides bereits mit.
Praxisbeispiele
Produktivbetrieb:
| Feld | Wert |
|---|---|
| CDN-Domain | cdn.mmkreativ.example |
| Signing-API-URL | https://signing.mmkreativ.example |
| URL-Schema-Override | leer |
Lokale Entwicklung gegen einen mm-media-cdn-Stack ohne TLS:
| Feld | Wert |
|---|---|
| CDN-Domain | localhost:8090 |
| Signing-API-URL | http://localhost:8091 |
| URL-Schema-Override | http |
Token rotieren, ohne bestehende Bild-URLs anzufassen: "Remove token" klicken, neues Token eintragen, speichern - die in Produkten/Taxonen gespeicherten CDN-URLs bleiben unverändert, nur die nächste Signierung verwendet automatisch das neue Token.