Wenn Sie eine Wartungs-Site in Ihrem Varnish benötigen, ist die Standardmethode, sie über sub vcl_error() zu bedienen, indem Sie error 503
aufrufen.Varnish vcl_error sollte statische Dateien für die Wartung ausschließen
Das Problem hier ist, wenn Sie js/css/images in Ihrer Wartungs-Site benötigen und sie unter der gleichen URL gehostet werden, da alle diese Dateien auch in einem 503 landen.
Gibt es eine Möglichkeit, bestimmte Dateien oder Dateien durch Dateiendung auszuschließen? Ich habe verschiedene Wege versucht, z. Setzen Sie eine if() Anweisung um den Fehler 503 und geben Sie sie einfach ein, wenn die Dateierweiterung nicht png, jpg, js, css ist. Aber es führt zu einer Zeitüberschreitung.
Die meiste Zeit habe ich gelesen, dass Dateien auf z. Cloudflare oder verwenden Sie Base64-Codierung für Bilder und Inline-CSS/JS bei Bedarf.
Sind dies die einzigen Möglichkeiten?
Das Problem hier ist, dass inline alle Dateien einschließlich Bilder als Base64 codiert Maintenance.html von ca. 1KiB bis fast 1,5MiB in einer einzigen Datei blasen. Aber danke für die Antwort, ich werde Ihnen die Antwortabstimmung geben. Vielen Dank! – Michael
Danke :) Nun, Sie müssen dann Ihre Wartungsseite überprüfen. Ich denke, irgendetwas über 100kB ist zu groß für diesen Zweck. Denken Sie an all jene mobilen Benutzer mit schlechterer Verbindung. Und Sekunden zu warten, nur um festzustellen, dass die Site down ist, wird sie wirklich aufregen, fürchte ich. –
Oh mein Kunde (und seine Kunden auch) sind sehr süchtig nach Stil der Website. Selbst die Wartungsseite ist eine gestylte Seite mit einem wirklich coolen Hintergrundbild;) Und da man Dinge für den Crossbrowser definieren muss, muss man vorfixiertes CSS mit Hintergrundbilddaten/src im base64-kodierten Format verwenden. Es ist also ziemlich einfach, bald ein Megabyte zu erreichen. – Michael