Csatlakozás távoli szerverhez
Minden kliens csupán megjelenítő réteg egy cc_server fölött, amely az adatokat
birtokolja. Az asztali alkalmazás futtathat egyet saját magában; a webes
alkalmazás az app.usectrl.dev címen erre nem képes,
mert egy böngészőlap nem tud szervert üzemeltetni. Akárhogy is, ez az útmutató
egy klienst egy máshol futó szerverre irányít — egy kis gépre, egy felhőbeli
VM-re, egy buildszerverre.
Előfeltételek
Szekció neve “Előfeltételek”- Egy futó
cc_server. Ha még nincs ilyen, lásd a Headless szerver futtatása oldalt. - Vagy a szerver által kiadott három párosítási érték — a szerver URL (
ws://…/rpcvagywss://…/rpc), egy Eszköz-ID és egy Párosítási kulcs —, vagy egy munkaterület-adminisztrátortól kapott, egyszer használatos Meghívókód. Egy meghívó beváltása provisionálja a felhasználóját, rögzíti a tagságát, és kiállítja az ehhez a klienshez tartozó hitelesítő adatot, így Önnek soha nem kell eszköz-ID-t vagy kulcsot kezelnie.
Győződjön meg arról, hogy a szerver elérhető
Szekció neve “Győződjön meg arról, hogy a szerver elérhető”Egy helyi szerverhez semmi sem kell: a ws://localhost:9030/rpc az asztali
alkalmazásból és a böngészőből is működik, mert a böngészők a loopbacket
megbízható originnak tekintik.
A másik gépen futó szerver esete más. Az app.usectrl.dev HTTPS-en keresztül
érhető el, ezért a böngésző csak olyan wss:// socketet nyit meg, amelynek
tanúsítványában már megbízik — a cc_server pedig eleve megtagadja, hogy TLS
nélkül nem loopback címre kössön. Adjon neki az alábbiak egyikét:
- tanúsítványt közvetlenül, a
--tls-certés a--tls-keykapcsolóval - egy elé kötött, TLS-t lezáró fordított proxyt, a szervert
--insecurekapcsolóval elindítva (sima szöveg a proxy mögött, kizárólag megbízható hálózaton) - egy alagutat vagy VPN-t, amely biztosítja a tanúsítványt — Tailscale, cloudflared vagy hasonló. A Beállítások → Szerver → Kapcsolat és állapot alatt, a Szerver megosztása részen található a beépített alagút bekapcsolása.
A szerveroldalon két beállítást könnyű kihagyni. Proxy, NAT vagy alagút mögött
állítsa a --public-url értékét arra a címre, amelyet a klienseknek ténylegesen
hívniuk kell — alapértelmezésben a helyi bind-címet veszi fel, így enélkül a
kliensek a rossz hosztot próbálják elérni. Ha a webes build saját példányát
üzemelteti, vegye fel annak originjét a --allowed-origins listára, amely
alapértelmezésben csak a https://app.usectrl.dev címet tartalmazza; a loopback
és a natív kliensek mindig engedélyezettek.
Az asztali alkalmazás csatlakoztatása
Szekció neve “Az asztali alkalmazás csatlakoztatása”Friss telepítés esetén:
- Indítsa el a Control Centert. Az első indítás képernyője azt kérdezi: Hogyan fusson a Control Center?
- A Futtatás ebben az alkalmazásban helyett töltse ki a csatlakozási mezőket: a szerver URL-t, valamint vagy egy meghívókódot, vagy egy eszköz-ID-t és egy párosítási kulcsot.
- Kattintson a Csatlakozás elemre. A Control Center tárcsázza a szervert, és a munkaterület Beérkezett nézetében köt ki.
Egy olyan asztali gépen, amely már futtatja a saját szerverét:
- Nyissa meg a Beállítások → Szerver → Kapcsolat és állapot részt.
- Kattintson a Szerver hozzáadása elemre. Adja meg a szerver URL-t (
wss://host:9030/rpc), valamint vagy egy meghívókódot, vagy egy eszköz-ID-t és egy párosítási kulcsot. Az URL-mező végén lévő gomb felderíti acc_serverpéldányokat az Ön LAN-ján vagy tailnetjén. - Kattintson a Csatlakozás elemre, majd az új szerver sorában a Váltás elemre.
A váltás élő: az alkalmazás helyben épül újra az új munkamenet köré, újraindítás nélkül. Ha a csatlakozás meghiúsul, az aktuális szerveren marad, és látja a hibát. Annak a szervernek a során, amelyen éppen van, nincs Váltás művelet; a helyi szerver az első sor, Futtatás ebben az alkalmazásban címkével.
A váltás után az asztali alkalmazás nem birtokol adatbázist. Minden képernyő a távoli szerveren keresztül olvas és ír egy WebSocketen.
A webes kliens csatlakoztatása
Szekció neve “A webes kliens csatlakoztatása”A webes build mindig távoli.
- Nyissa meg az app.usectrl.dev címet, vagy a webes build saját példányát.
- Adja meg a szerver URL-t, valamint vagy egy meghívókódot, vagy egy eszköz-ID-t és egy párosítási kulcsot.
- A kliens tárcsázza a szervert, és ugyanazt a felületet rendereli, mint az asztali alkalmazás.
Ha a URL-ben párosítási deep link szerepel, a mezők előre ki vannak töltve. A párosítási kulcs az URL töredékében utazik, amelyet a böngészők soha nem küldenek el az oldalt üzemeltető szervernek, így a statikus hoszt soha nem látja.
Amit a böngésző nem tesz meg
Szekció neve “Amit a böngésző nem tesz meg”A webes kliens ugyanazt a szervert olvassa és írja, mint az asztali alkalmazás, de néhány felülethez natív ablakra vagy a gép saját eszközeire van szükség:
- nincs operációs rendszer szintű értesítési buborék, értesítési hang és hangulat-bannersáv (az alkalmazáson belüli értesítési központ továbbra is működik)
- nincs LAN- vagy tailnet-felderítés a Szerver hozzáadása párbeszédablakban
- nincs alkalmazáson belüli cikkolvasó — a hírfolyam cikkei új lapon nyílnak meg
- nem lehet újrafuttatni egy megbeszélés-összefoglalót, és nem lehet megszakítani egy éppen feldolgozás alatt állót
Két dolog nem hiányzik, hanem másképp viselkedik. A megbeszélések felvétele a böngészőben is működik: rögzíti a mikrofonját, valamint egy képmegosztást, amely hangpályát is tartalmaz. A Megnyitás IDE-ben szintén működik, de a szervertől azt kéri, hogy a szerkesztőt a szerver képernyőjén indítsa el, ezért a gomb elrejti magát egy olyan headless hoszton, ahol nincs telepítve szerkesztő.
Hibaelhárítás
Szekció neve “Hibaelhárítás”- A kapcsolat időtúllépésbe fut: a szervernek elérhetőnek kell lennie a kliensről. Ellenőrizze a bind-címet (
--bind any), hogy a port nyitva van-e, és hogy a--public-urlazt a címet adja-e meg, amelyet a kliens ténylegesen el tud érni. A nyílt internet fölött a TLS kötelező — a nem loopback, sima szöveges bind indításkor elutasításra kerül, kivéve, ha a szervert proxy mögött--insecurekapcsolóval indították. - A böngésző megtagadja a csatlakozást, egy natív kliens viszont működik: a böngésző originje nincs rajta a szerver
--allowed-originslistáján. Az alapértelmezés csak ahttps://app.usectrl.devcímet engedélyezi (a loopbackkel együtt). - A párosítási kulcsot elutasítja a szerver: futtassa újra a
cc_server pairparancsot a szerveren, hogy lecserélje az adott eszköz kulcsát, majd adja meg az újat. Egy visszavont eszköz úgy találja, hogy a hitelesítő adata eltűnt, és zártan meghiúsul; a visszavonás másodperceken belül eldob egy élő munkamenetet. - Rossz munkaterület: a munkaterület az URL része (
/workspaces/:workspaceId/…), és minden hívással együtt utazik, ezért a munkaterület váltása az egyik kliensben csak az Ön saját nézetét változtatja meg. Csak olyan munkaterületeket érhet el, amelyeknek tagja — minden mást a “Not a member of this workspace” üzenettel utasít el a rendszer. Lásd a Munkaterületek és elszigetelés oldalt.
Kapcsolódó útmutatók
Szekció neve “Kapcsolódó útmutatók”- Headless szerver futtatása
- Eszköz párosítása: a telefon reléútja