Caddy & HTTPS
Caddy est la porte d’entrée de Studio Local. Tout ce qui arrive de l’extérieur passe par lui, et rien d’autre n’est exposé. C’est aussi lui qui obtient et renouvelle votre certificat, sans que vous ayez à y penser.
Le problème que Caddy résout
Une régie complète, c’est plusieurs serveurs sur plusieurs ports : l’application sur l’un, la signalisation temps réel sur un autre, les flux ailleurs encore. Sans façade, il faudrait exposer chacun d’eux à Internet et donner à vos invités une adresse par service.
Ce serait ingérable, et surtout dangereux : chaque port ouvert est une porte à surveiller.
Caddy présente une adresse unique en HTTPS et répartit lui-même les requêtes vers le bon service interne. Vos invités ne connaissent qu’une adresse ; les services internes, eux, ne sont jamais joignables directement depuis l’extérieur.
Pourquoi le HTTPS n’est pas optionnel
Ce n’est pas une précaution de confort : sans HTTPS, Studio Local ne peut pas fonctionner pour vos invités.
Les navigateurs refusent l’accès à la caméra et au microphone sur une page non sécurisée. C’est une règle absolue, sans dérogation possible, et elle est parfaitement justifiée : autoriser une page non chiffrée à filmer et écouter serait une aubaine pour n’importe quel intermédiaire réseau.
| Contexte | Caméra et micro |
|---|---|
Votre propre machine (localhost) | Autorisés — le navigateur considère la machine locale comme un contexte sûr. |
| Un invité, en HTTP | Refusés — aucune caméra ne s’ouvrira, quelles que soient les autorisations accordées. |
| Un invité, en HTTPS | Autorisés. |
« Ça marche chez moi mais pas chez mon invité » vient presque toujours de là. Chez vous, le navigateur tolère l’absence de HTTPS parce que c’est la machine locale. Chez l’invité, non. La chaîne HTTPS n’est donc pas un détail d’installation : c’est ce qui rend les invités possibles.
Le certificat, obtenu tout seul
Un site en HTTPS a besoin d’un certificat délivré par une autorité reconnue. Historiquement, c’était une démarche fastidieuse à refaire régulièrement.
Caddy automatise entièrement le processus : il demande le certificat, prouve à l’autorité que la machine est bien la vôtre, l’installe et le renouvelle avant expiration. Vous n’avez aucune commande à lancer, aucune date à surveiller.
Studio Local s’utilise le plus souvent sans nom de domaine : vos invités reçoivent un lien pointant vers l’adresse publique de votre connexion. Or les certificats pour adresses IP sont récents et ne sont délivrés que sous un régime particulier, à durée de vie courte. C’est ce régime que Studio Local demande — d’où des renouvellements plus fréquents, entièrement pris en charge.
Deux entrées, deux comportements
Caddy est configuré avec deux blocs distincts, qui ne font pas la même chose.
| Entrée locale | Entrée publique | |
|---|---|---|
| Adresse | localhost et 127.0.0.1 | L’adresse publique de votre connexion |
| Chiffrement | Aucun — inutile en local | HTTPS avec certificat automatique |
| Pour qui | Vous, à la régie | Vos invités, et les pages de sortie |
Parce qu’il n’apporterait rien : le trafic ne quitte pas la machine, et le navigateur considère déjà localhost comme sûr. Y ajouter du chiffrement compliquerait le démarrage sans rien protéger de plus.
L’entrée locale ne vaut que pour localhost, c’est-à-dire votre propre machine. Une personne sur votre Wi-Fi n’est pas localhost : le lien d’invitation qu’elle reçoit pointe vers l’adresse publique de votre connexion, et sa vidéo ressort par votre box pour y revenir aussitôt — ce qu’on appelle le retour en épingle.
Cela a trois conséquences concrètes :
- votre box doit savoir faire ce demi-tour ; la plupart le font, quelques-unes non ;
- les redirections des ports 80 et 443 sont nécessaires même pour un invité présent dans la pièce ;
- une connexion Internet reste indispensable, ne serait-ce que pour maintenir le certificat à jour.
Autrement dit : Studio Local garde vos flux chez vous, mais il n’est pas conçu pour fonctionner sur un réseau totalement coupé du monde.
Le routage
Chaque bloc applique les mêmes trois règles, dans l’ordre. La première qui correspond gagne.
| Ordre | Ce qui arrive | Destination |
|---|---|---|
| 1 | Une adresse commençant par /rtc/ | LiveKit — c’est le canal WebSocket de signalisation. |
| 2 | Une adresse commençant par /livekit/ | LiveKit également, le préfixe étant retiré au passage. |
| 3 | Tout le reste | L’application Studio Local. |
https://<votre adresse>/…
│
┌────▼────┐
│ Caddy │ :443
└────┬────┘
┌─────────────┼─────────────┐
/rtc/* │ /livekit/* │ │ tout le reste
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ LiveKit │ │ LiveKit │ │ Node.js │
│ :7880 │ │ :7880 │ │ :3000 │
└──────────┘ └──────────┘ └──────────┘
La signalisation LiveKit est une connexion WebSocket maintenue ouverte pendant toute la session. Si Caddy la laissait tomber, l’invité verrait la page se charger normalement… puis rester bloqué sur « connexion… », sans jamais entrer. C’est pourquoi ces deux règles passent avant celle de l’application.
Les deux ports à ouvrir
Studio Local ouvre automatiquement la plupart des ports de votre box, en dialoguant avec elle. Deux font exception : 80 et 443.
| Port | Rôle |
|---|---|
80 | Sert à prouver à l’autorité de certification que la machine est bien la vôtre, et à rediriger vers HTTPS. |
443 | Le trafic HTTPS lui-même — tout ce que voient vos invités. |
Les box grand public refusent l’ouverture automatique des ports 80 et 443, parce que ce sont ceux de leur propre interface d’administration : un logiciel malveillant pourrait les détourner. La redirection manuelle, elle, reste autorisée. C’est une limite de la box, pas de Studio Local.
La procédure complète est décrite dans le guide de configuration réseau fourni avec le logiciel. En résumé : dans l’interface de votre box, section NAT/PAT, créez deux règles en TCP pointant vers l’adresse locale de votre PC.
Les ports 3000, 3001 et 7880 ne doivent pas être exposés à Internet. Ce sont les services internes, que Caddy protège précisément en les gardant hors d’atteinte. Les ouvrir contournerait le HTTPS, la seule couche qui chiffre le trafic de vos invités — et exposerait directement des services conçus pour n’être joints qu’en local.
Ce que Caddy n’expose pas
Caddy dispose normalement d’une interface d’administration permettant de le reconfigurer à distance. Elle est désactivée dans Studio Local.
La raison est simple : cette interface n’a d’intérêt que dans une infrastructure pilotée par des outils d’automatisation. Ici, la configuration est fixe et connue. La laisser active n’apporterait aucun service et ajouterait une surface d’attaque sur une machine qui, par définition, est exposée à Internet pendant vos directs.
Pourquoi Caddy plutôt qu’un autre
| Critère | Ce qui a compté |
|---|---|
| HTTPS par défaut | Le certificat est obtenu et renouvelé sans intervention. Chez les alternatives classiques, c’est un outil et une tâche planifiée en plus. |
| Un seul fichier | Caddy s’installe en un exécutable, sans dépendances système. Il se distribue avec le logiciel. |
| Configuration lisible | Quelques lignes compréhensibles, là où d’autres demandent des dizaines de directives. |
| WebSocket sans réglage | Les connexions maintenues passent correctement sans configuration particulière — décisif pour la signalisation temps réel. |
Dépannage
| Symptôme | Cause probable | Ce qu’il faut faire |
|---|---|---|
| L’invité voit un avertissement de sécurité | Le certificat n’a pas pu être obtenu. | Vérifiez que le port 80 est bien redirigé — c’est par lui que passe la vérification. |
| La page de l’invité ne se charge pas du tout | Le port 443 n’est pas redirigé, ou Caddy n’a pas démarré. | Contrôlez les deux règles de votre box, puis la fenêtre de démarrage. |
| La page se charge mais reste sur « connexion… » | Le WebSocket n’aboutit pas. | Souvent un VPN ou un filtre réseau qui coupe les connexions maintenues. |
| L’invité n’a pas de caméra du tout | Il est arrivé en HTTP et non en HTTPS. | Régénérez le lien d’invitation depuis l’onglet Invite. |
| Caddy refuse de démarrer | Un autre serveur web occupe déjà le port 80 ou 443. | Arrêtez-le, ou identifiez-le avant de relancer Studio Local. |
| Ça marchait, et plus depuis peu | Votre adresse publique a changé. | Régénérez le lien d’invitation : l’ancienne adresse ne pointe plus chez vous. |
| Un invité sur votre propre Wi-Fi n’arrive pas à se connecter | Votre box ne sait pas renvoyer vers elle-même une requête destinée à votre adresse publique. | Vérifiez d’abord les redirections 80 et 443 ; si elles sont bonnes, votre box ne gère pas le retour en épingle. |
Elle est réattribuée à chaque redémarrage de la box, parfois plus souvent. Un lien d’invitation envoyé la semaine dernière peut donc ne plus fonctionner. Prenez l’habitude de générer le lien le jour même — Studio Local le construit toujours à partir de l’adresse en cours.
À retenir
- Caddy est le seul service exposé à Internet ; tout le reste travaille en local derrière lui.
- Le HTTPS est indispensable : sans lui, aucun invité n’aura de caméra.
- Deux ports à rediriger une fois dans votre box : 80 et 443. Les autres, jamais.
- Le certificat est obtenu et renouvelé automatiquement.
- Une adresse publique qui change invalide les anciens liens d’invitation.