Traductions communautaires par veiseule.ai — Help improve them on Crowdin
Aller au contenu principal

Tailscale (tableau de bord de la Gateway (passerelle))¶

OpenClaw peut configurer automatiquement Tailscale Serve (tailnet) ou Funnel (public) pour le tableau de bord de la Gateway (passerelle) et le port WebSocket. Cela permet de conserver la Gateway liĂ©e au loopback tandis que Tailscale fournit HTTPS, le routage et (pour Serve) des en-tĂȘtes d’identitĂ©.

Modes¶

  • serve : Serve uniquement sur le tailnet via tailscale serve. La Gateway reste sur 127.0.0.1.
  • funnel : HTTPS public via tailscale funnel. OpenClaw requiert un mot de passe partagĂ©.
  • off : Par dĂ©faut (aucune automatisation Tailscale).

Authentification¶

Définissez gateway.auth.mode pour contrÎler la négociation :

  • token (par dĂ©faut lorsque OPENCLAW_GATEWAY_TOKEN est dĂ©fini)
  • password (secret partagĂ© via OPENCLAW_GATEWAY_PASSWORD ou la configuration)

Lorsque tailscale.mode = "serve" et que gateway.auth.allowTailscale est true, les requĂȘtes proxy Serve valides peuvent s’authentifier via les en-tĂȘtes d’identitĂ© Tailscale (tailscale-user-login) sans fournir de jeton/mot de passe. OpenClaw vĂ©rifie l’identitĂ© en rĂ©solvant l’adresse x-forwarded-for via le dĂ©mon Tailscale local (tailscale whois) et en la faisant correspondre Ă  l’en-tĂȘte avant de l’accepter. OpenClaw ne considĂšre une requĂȘte comme Serve que lorsqu’elle arrive depuis le loopback avec les en-tĂȘtes Tailscale x-forwarded-for, x-forwarded-proto et x-forwarded-host. Pour exiger des identifiants explicites, dĂ©finissez gateway.auth.allowTailscale: false ou forcez gateway.auth.mode: "password".

Exemples de configuration¶

Tailnet uniquement (Serve)¶

{
  gateway: {
    bind: "loopback",
    tailscale: { mode: "serve" },
  },
}

Ouvrez : https://<magicdns>/ (ou votre gateway.controlUi.basePath configuré)

Tailnet uniquement (liaison Ă  l’IP du Tailnet)¶

Utilisez ceci lorsque vous souhaitez que la Gateway Ă©coute directement sur l’IP du Tailnet (sans Serve/Funnel).

{
  gateway: {
    bind: "tailnet",
    auth: { mode: "token", token: "your-token" },
  },
}

Connexion depuis un autre appareil du Tailnet :

  • Interface de contrĂŽle : http://<tailscale-ip>:18789/
  • WebSocket : ws://<tailscale-ip>:18789

Remarque : le loopback (http://127.0.0.1:18789) ne fonctionnera pas dans ce mode.

Internet public (Funnel + mot de passe partagé)¶

{
  gateway: {
    bind: "loopback",
    tailscale: { mode: "funnel" },
    auth: { mode: "password", password: "replace-me" },
  },
}

PrĂ©fĂ©rez OPENCLAW_GATEWAY_PASSWORD plutĂŽt que d’enregistrer un mot de passe sur le disque.

Exemples CLI¶

openclaw gateway --tailscale serve
openclaw gateway --tailscale funnel --auth password

Notes¶

  • Tailscale Serve/Funnel nĂ©cessite que la CLI tailscale soit installĂ©e et connectĂ©e.
  • tailscale.mode: "funnel" refuse de dĂ©marrer sauf si le mode d’authentification est password afin d’éviter une exposition publique.
  • DĂ©finissez gateway.tailscale.resetOnExit si vous souhaitez qu’OpenClaw annule la configuration tailscale serve ou tailscale funnel Ă  l’arrĂȘt.
  • gateway.bind: "tailnet" est une liaison directe au Tailnet (pas de HTTPS, pas de Serve/Funnel).
  • gateway.bind: "auto" privilĂ©gie le loopback ; utilisez tailnet si vous souhaitez un accĂšs uniquement Tailnet.
  • Serve/Funnel n’exposent que l’interface de contrĂŽle de la Gateway + WS. Les nƓuds se connectent via le mĂȘme point de terminaison WS de la Gateway, donc Serve peut fonctionner pour l’accĂšs des nƓuds.

ContrÎle du navigateur (Gateway distante + navigateur local)¶

Si vous exĂ©cutez la Gateway sur une machine mais souhaitez piloter un navigateur sur une autre machine, exĂ©cutez un hĂŽte de nƓud sur la machine du navigateur et maintenez les deux sur le mĂȘme tailnet. La Gateway transmettra les actions du navigateur au nƓud ; aucun serveur de contrĂŽle sĂ©parĂ© ni URL Serve n’est nĂ©cessaire.

Évitez Funnel pour le contrĂŽle du navigateur ; traitez l’appairage des nƓuds comme un accĂšs opĂ©rateur.

Prérequis et limites Tailscale¶

  • Serve requiert que HTTPS soit activĂ© pour votre tailnet ; la CLI vous y invite s’il manque.
  • Serve injecte des en-tĂȘtes d’identitĂ© Tailscale ; Funnel ne le fait pas.
  • Funnel requiert Tailscale v1.38.3+, MagicDNS, HTTPS activĂ© et un attribut de nƓud funnel.
  • Funnel ne prend en charge que les ports 443, 8443 et 10000 via TLS.
  • Funnel sur macOS nĂ©cessite la variante open source de l’application Tailscale.

En savoir plus¶

  • PrĂ©sentation de Tailscale Serve : https://tailscale.com/kb/1312/serve
  • Commande tailscale serve : https://tailscale.com/kb/1242/tailscale-serve
  • PrĂ©sentation de Tailscale Funnel : https://tailscale.com/kb/1223/tailscale-funnel
  • Commande tailscale funnel : https://tailscale.com/kb/1311/tailscale-funnel