---
read_when:
    - Sie möchten über Tailscale auf das Gateway zugreifen
    - Sie möchten die browserbasierte Control UI und die Konfigurationsbearbeitung.
summary: 'Gateway-Weboberflächen: Control UI, Bindungsmodi und Sicherheit'
title: Web
x-i18n:
    generated_at: "2026-07-26T18:12:31Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 32
    provider: openai
    source_hash: 413fb029d95241f5c6043b28825727cdee52b2fa8cbe998fbbd6e3ff7b81467b
    source_path: web/index.md
    workflow: 16
---

Der Gateway stellt eine kleine **browserbasierte Control UI** (Vite + Lit) über denselben Port wie der Gateway-WebSocket bereit:

- Standard: `http://<host>:18789/`
- mit `gateway.tls.enabled: true`: `https://<host>:18789/`
- optionales Präfix: Legen Sie `gateway.controlUi.basePath` fest (z. B. `/openclaw`)

Die Funktionen sind unter [Control UI](/de/web/control-ui) beschrieben. Diese Seite behandelt Bindungsmodi, Sicherheit und weitere Web-Schnittstellen.

## Konfiguration (standardmäßig aktiviert)

Die Control UI ist **standardmäßig aktiviert**, wenn Assets vorhanden sind (`dist/control-ui`):

```json5
{
  gateway: {
    controlUi: { enabled: true, basePath: "/openclaw" }, // basePath optional
  },
}
```

## Webhooks

Bei `hooks.enabled=true` stellt der Gateway außerdem einen Webhook-Endpunkt auf demselben HTTP-Server bereit. Informationen zu Authentifizierung und Payloads finden Sie unter `hooks` in der [Gateway-Konfigurationsreferenz](/de/gateway/configuration-reference#hooks).

## Admin-HTTP-RPC

`POST /api/v1/admin/rpc` stellt ausgewählte Methoden der Gateway-Steuerungsebene über HTTP bereit. Standardmäßig deaktiviert; wird nur registriert, wenn das Plugin `admin-http-rpc` aktiviert ist. Informationen zum Authentifizierungsmodell, zu den zulässigen Methoden und zum Vergleich mit der WebSocket-API finden Sie unter [Admin-HTTP-RPC](/de/plugins/admin-http-rpc).

## Tailscale-Zugriff

<Tabs>
  <Tab title="Integriertes Serve (empfohlen)">
    Belassen Sie den Gateway auf Loopback und lassen Sie ihn durch Tailscale Serve als Proxy weiterleiten:

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

    Starten Sie den Gateway:

    ```bash
    openclaw gateway
    ```

    Öffnen Sie `https://<magicdns>/` (oder Ihren konfigurierten `gateway.controlUi.basePath`).

  </Tab>
  <Tab title="Tailnet-Bindung + Token">
    ```json5
    {
      gateway: {
        bind: "tailnet",
        controlUi: { enabled: true },
        auth: { mode: "token", token: "your-token" },
      },
    }
    ```

    Starten Sie den Gateway (dieses Nicht-Loopback-Beispiel verwendet die Authentifizierung mit einem Shared-Secret-Token):

    ```bash
    openclaw gateway
    ```

    Öffnen Sie `http://<tailscale-ip>:18789/` (oder Ihren konfigurierten `gateway.controlUi.basePath`).

  </Tab>
  <Tab title="Öffentliches Internet (Funnel)">
    ```json5
    {
      gateway: {
        bind: "loopback",
        tailscale: { mode: "funnel" },
        auth: { mode: "password" }, // or OPENCLAW_GATEWAY_PASSWORD
      },
    }
    ```

    `tailscale.mode: "funnel"` erfordert `gateway.auth.mode: "password"`; sowohl Serve als auch Funnel erfordern `gateway.bind: "loopback"`.

  </Tab>
</Tabs>

## Sicherheitshinweise

- Die Gateway-Authentifizierung ist standardmäßig erforderlich: Token, Passwort, vertrauenswürdiger Proxy oder – sofern aktiviert – Tailscale-Serve-Identitätsheader.
- Nicht-Loopback-Bindungen **erfordern** weiterhin eine Gateway-Authentifizierung: Token-/Passwortauthentifizierung oder einen identitätsbewussten Reverse-Proxy mit `gateway.auth.mode: "trusted-proxy"`.
- Der Einrichtungsassistent erstellt standardmäßig eine Shared-Secret-Authentifizierung und generiert üblicherweise ein Gateway-Token, selbst bei Loopback.
- Im Shared-Secret-Modus sendet die UI während des WebSocket-Handshakes `connect.params.auth.token` oder `connect.params.auth.password`.
- Mit `gateway.tls.enabled: true` erzeugen lokale Dashboard-/Status-Hilfsfunktionen `https://`-URLs und `wss://`-WebSocket-URLs.
- In identitätsführenden Modi (Tailscale Serve, `trusted-proxy`) wird die WebSocket-Authentifizierungsprüfung anhand von Anfrageheadern statt eines Shared Secrets erfüllt.
- Legen Sie für öffentliche Nicht-Loopback-Bereitstellungen der Control UI `gateway.controlUi.allowedOrigins` explizit fest (vollständige Ursprünge). Private Ladevorgänge mit demselben Ursprung werden ohne diese Einstellung für Loopback-, RFC1918-/Link-Local-, `.local`-, `.ts.net`- und Tailscale-CGNAT-Hosts akzeptiert.
- `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback: true` aktiviert den Host-Header-Ursprungs-Fallback; dies stellt eine gefährliche Herabstufung der Sicherheit dar.
- Bei Serve erfüllen Tailscale-Identitätsheader die Authentifizierung für Control UI/WebSocket, wenn `gateway.auth.allowTailscale: true` (kein Token/Passwort erforderlich). HTTP-API-Endpunkte verwenden keine Tailscale-Identitätsheader; sie folgen immer dem normalen HTTP-Authentifizierungsmodus des Gateways. Legen Sie `gateway.auth.allowTailscale: false` fest, um auch über Serve explizite Anmeldedaten zu verlangen. Dieser tokenlose Ablauf setzt voraus, dass der Gateway-Host selbst vertrauenswürdig ist. Weitere Informationen finden Sie unter [Tailscale](/de/gateway/tailscale) und [Sicherheit](/de/gateway/security).

## Erstellen der UI

Der Gateway stellt statische Dateien aus `dist/control-ui` bereit:

```bash
pnpm ui:build
```
