Maintenance et cache
Fonctionnalité déployée et prise en charge. Les champs et commandes décrits ici sont stables au sein de la version v1alpha1.
Un site statique est servi à travers un cache : les visiteurs reçoivent une copie gardée jusqu'à une heure. Ce guide montre comment mettre un site en maintenance sans perdre son contenu, quand et comment vider le cache, et comment supprimer un site.
Prérequis
- Un site publié : Publier un site statique.
- Les droits
cdn:write(maintenance),cdn:purge(cache),cdn:delete(suppression) : inclus dans les policies géréesreadwriteetadmin.
1. Mettre un site en maintenance
sng cdn disable docs
site docs en maintenance (effectif dans quelques minutes)
Le site répond alors 503 Service Unavailable à toutes les requêtes, avec une page de
maintenance, l'en-tête Retry-After: 300 et Cache-Control: no-store. Le contenu, le
domaine et le certificat sont conservés. Vous pouvez continuer à publier
(sng cdn upload) pendant la maintenance.
Comptez quelques minutes avant que le changement soit visible. Pour qu'aucun visiteur ne garde l'ancienne version en cache entre-temps, la plateforme vide le cache du site immédiatement, puis de nouveau plusieurs fois dans les minutes qui suivent.
En manifeste : spec.maintenanceMode: true, puis sng apply.
2. Réactiver le site
sng cdn enable docs
site docs réactivé (effectif dans quelques minutes)
sng cdn list affiche disabled pour un site en maintenance, enabled sinon. Les deux
commandes sont sans effet si le site est déjà dans l'état demandé.
3. Comprendre la durée de cache
| Réponse | Durée en cache |
|---|---|
| fichier trouvé | Cache-Control: public, max-age=3600 (1 heure), plus 5 minutes de grâce |
404 | 30 secondes |
| page de maintenance, autres erreurs | jamais |
sng cdn upload vide le cache du site à la fin de chaque envoi : une nouvelle version est
visible tout de suite, sans attendre l'expiration.
4. Vider le cache à la main
Utile après une modification hors de sng cdn upload (site servi depuis votre propre bucket),
ou pour ne pas attendre les 30 secondes d'un 404 mis en cache avant l'arrivée du fichier :
sng cdn clear-cache docs
cache du site docs vidé
Le cache est vidé pour tout le domaine du site. Alias :
clear_cache.
5. Supprimer un site
sng cdn delete docs
⚠ Suppression définitive du site "docs" et de son contenu (tenant "acme").
Tapez « oui » pour confirmer : oui
site docs supprimé (42 fichier(s) retiré(s))
Le site, tout son contenu (stockage default) et son cache sont supprimés ; rien n'est
récupérable. Un site servi depuis votre propre bucket n'y touche pas : vos fichiers restent
dans votre bucket. Depuis un script : --yes. sng kind delete CDNSite docs a le même effet.
Vérification
curl -sI https://docs.acme.dev.stackngo.app/ | head -3
HTTP/2 503
cache-control: no-store
content-type: text/html; charset=utf-8
Après sng cdn enable, la même commande renvoie HTTP/2 200.
Pour aller plus loin
- Durée de cache par fichier : non réglable avec
sng cdn uploaddans cette version (les fichiers envoyés n'ont pas d'en-têteCache-Controlpropre). Un site servi depuis votre bucket utilise leCache-Controlde chaque objet s'il en a un. - Cache vidé sans droit : si votre identité n'a pas
cdn:purge,sng cdn uploadpublie quand même mais avertitattention : cache non vidé, relancez sng cdn clear-cache docs. - Ce que voit le visiteur pendant une panne du stockage : une page d'accueil StackNGO
(
200, jamais mise en cache), jusqu'au retour du stockage. - API :
disableetenablecorrespondent àPOST /v1/cdn/{name}/disable|enable(cdn:write),clear-cacheàPOST /v1/cdn/{name}/cache/clear(cdn:purge, réponse204),deleteàDELETE /v1/cdn/{name}(cdn:delete).
Voir aussi
- Publier un site statique
- Référence :
sng cdn,CDNSite