--- title: Infra — Risques & vigilance : Tailscale domain: infra bucket: risques tags: [tailscale, cert, magicdns, tls, letsencrypt, systemd] applies_to: [architecture, implementation, debug] severity: medium validated_on: 2026-06-25 source_projects: [_Assistant_Cuisine] --- # Infra — Risques & vigilance : Tailscale > Extrait de la base de connaissance Lead_tech. Voir `knowledge/infra/risques/README.md` pour l'index complet. --- ## `tailscale cert` ne couvre QUE le FQDN exact du host ### Risques - `tailscale cert ` génère un certificat Let's Encrypt valide **uniquement** pour le FQDN passé, qui doit être le hostname Tailscale du device courant (ex. `nuc.wyvern-snapper.ts.net`). Toute attente de sous-domaines ou de wildcard est fausse. ### Symptômes - Sous-domaines arbitraires (`cuisine.nuc.wyvern-snapper.ts.net`) : pas de cert auto, et MagicDNS ne route pas non plus. - Wildcard : non supporté. - FQDN d'un autre device : non couvert. ### Bonnes pratiques / mitigations Pour un reverse-proxy multi-apps, deux options : - **Path-based routing** sous le FQDN unique (`/cuisine`, `/code`, etc.) — voir `knowledge/infra/patterns/reverse-proxy-paths.md`. - **Vrai domaine** avec challenge DNS-01 (Cloudflare, OVH, etc.) côté Traefik pour obtenir des sous-domaines réels. **Règle** : `tailscale cert` est OK pour un homelab qui sert tout sous un seul FQDN avec routing par path. Pour des sous-domaines réels, prévoir un domaine perso. --- ## `tailscale cert` nécessite un renouvellement périodique ### Risques - Le cert est valide ~3 mois (Let's Encrypt). Sans renouvellement automatisé, expiration silencieuse → TLS cassé sur toutes les apps servies sous ce FQDN. ### Symptômes - Erreur de certificat expiré côté navigateur après ~90 j sans intervention. ### Bonnes pratiques / mitigations - **Pattern** : systemd timer hebdomadaire qui appelle `tailscale cert --cert-file ... --key-file ...` sur le FQDN du host. `tailscale cert` est **idempotent** et ne renouvelle qu'à moins de 30 j de la fin — aucun coût à le lancer souvent. - Le reverse proxy doit watcher le fichier pour reload auto (le file provider de Traefik le fait nativement). - Contexte technique : Tailscale cert / MagicDNS / systemd — _Assistant_Cuisine 04-05-2026