OpenClaw et Tailscale
Serve pour le tailnet, Funnel pour le public, et le raccourci des en-têtes d’identité
Tailscale est la façon que la documentation préfère pour atteindre un tableau de bord OpenClaw qui n’est pas sur votre propre machine. OpenClaw peut configurer Serve, réservé au tailnet, ou Funnel, public, tout seul : la passerelle reste liée à la boucle locale pendant que Tailscale fournit HTTPS, le routage et, pour Serve, des en-têtes d’identité qui peuvent remplacer un jeton. Voici les trois modes, les règles d’authentification qui vont avec, les prérequis et les limites, et l’étape de récupération pour une réservation laissée par une passerelle plus ancienne.
Trois modes
- Serve : HTTPS réservé au tailnet via Tailscale Serve, la passerelle restant sur l’adresse de boucle locale ; ouvrez le nom MagicDNS et vous y êtes.
- Funnel : HTTPS public, qui exige un mot de passe partagé et refuse de démarrer sans lui ; la même URL reste utilisable depuis l’intérieur du tailnet, où les pairs empruntent le chemin d’identité de Serve.
- Désactivé, par défaut : aucune automatisation Tailscale. Une option de liaison distincte écoute directement sur l’adresse IP du tailnet sans HTTPS ni Serve, ce que la documentation appelle un transport dégradé : la signature d’identité du navigateur ne chiffre rien, préférez donc Serve.
Authentification
La poignée de main a quatre modes : aucun pour une entrée privée seulement, jeton par défaut, mot de passe, et proxy de confiance pour un proxy inverse conscient de l’identité. Un mot de passe résolu sélectionne le mode mot de passe ; le mode jeton sans identifiant génère un jeton limité à l’exécution au démarrage en boucle locale. Avec Serve et l’indicateur d’autorisation Tailscale, l’interface de contrôle et son WebSocket peuvent s’authentifier par les en-têtes d’identité Tailscale : OpenClaw résout l’adresse transmise via le démon Tailscale local et la fait correspondre à l’en-tête avant de l’accepter, et seulement sur son écouteur géré dédié. Ce chemin sans jeton suppose que l’hôte est de confiance ; si du code local non fiable peut y tourner, désactivez l’indicateur et exigez un jeton ou un mot de passe.
tailscale.mode: "funnel" refuse de démarrer tant que le mode d’authentification n’est pas password, pour éviter une exposition publique.
Prérequis et limites
- La CLI Tailscale installée et connectée, et HTTPS activé pour le tailnet ; la CLI le propose s’il manque.
- Funnel exige Tailscale 1.38.3 ou plus récent, MagicDNS, HTTPS, un attribut de nœud funnel, et l’un des ports 443, 8443 ou 10000 ; sur macOS, il exige la variante open source de l’application.
- Serve et Funnel n’exposent que l’interface de contrôle et le WebSocket. Les nœuds se connectent par le même point d’accès, Serve fonctionne donc aussi pour l’accès des nœuds ; pour le contrôle de navigateur sur une autre machine, lancez-y un hôte de nœud et évitez Funnel.
OpenClaw sur un VPS est l’alternative du tunnel SSH pour un serveur loué, et OpenClaw sur Hetzner montre le tunnel dans une installation complète.
Réservations, docteur, et routes qui ne sont pas à vous
OpenClaw tient Serve ou Funnel comme une réservation au premier plan : le démarrage ne réussit qu’une fois la réservation active, et arrêter la passerelle la libère. Des passerelles plus anciennes pouvaient laisser une réservation derrière elles après un arrêt forcé ; si le démarrage signale un port HTTPS occupé, lisez la sortie d’état de Serve, confirmez quel processus a créé la route, et seulement alors arrêtez-le. Les services Tailscale nommés ne sont pas pris en charge et l’option de réparation du docteur désactive ce réglage ; une route que possède un autre service ne peut pointer vers l’écouteur ordinaire que par le chemin des proxys de confiance, qui n’accorde jamais d’authentification sans jeton. Les contrôles de sécurité de la passerelle OpenClaw place tout cela à côté des autres contrôles de la passerelle.
Sur Diali
Sur Diali, le tableau de bord a une adresse HTTPS stable sans tailnet, parce que l’instance est à nous à exposer : ni Serve, ni Funnel, ni mot de passe sur une URL publique, et vos appareils rejoignent l’ensemble comme nœuds par le même point d’accès authentifié. OpenClaw hébergé sur Diali est l’assistant et La sécurité sur Diali décrit la frontière.
- Serve pour le tailnet, Funnel pour le public, désactivé par défaut.
- Funnel exige un mot de passe ; Serve peut utiliser les en-têtes d’identité sur un hôte de confiance.
- Seuls l’interface de contrôle et le WebSocket sont exposés, et les nœuds passent par le même point d’accès.
Arrêtez de lire, construisez le vôtre
Configurez un agent, choisissez un canal, et faites-le travailler dans l’application que vous gardez déjà ouverte.
