웹 (Gateway(게이트웨이))
Gateway(게이트웨이)는 Gateway WebSocket 과 동일한 포트에서 작은 브라우저 Control UI (Vite + Lit) 를 제공합니다:- 기본값:
http://<host>:18789/ - 선택적 접두사:
gateway.controlUi.basePath설정 (예:/openclaw)
웹훅
hooks.enabled=true 인 경우, Gateway(게이트웨이)는 동일한 HTTP 서버에서 작은 웹훅 엔드포인트도 노출합니다.
인증 + 페이로드에 대해서는 Gateway 구성 → hooks 을 참고하십시오.
구성 (기본 활성화)
Control UI 는 자산이 존재할 때 기본적으로 활성화 됩니다 (dist/control-ui).
구성을 통해 제어할 수 있습니다:
Tailscale 접근
통합 Serve (권장)
Gateway(게이트웨이)를 loopback 에 유지하고 Tailscale Serve 로 프록시합니다:https://<magicdns>/(또는 구성된gateway.controlUi.basePath)
Tailnet 바인드 + 토큰
http://<tailscale-ip>:18789/(또는 구성된gateway.controlUi.basePath)
공용 인터넷 (Funnel)
보안 참고 사항
- Gateway(게이트웨이) 인증은 기본적으로 필요합니다 (토큰/비밀번호 또는 Tailscale ID 헤더).
- loopback 이 아닌 바인드는 여전히 공유 토큰/비밀번호 가 필수 입니다 (
gateway.auth또는 환경 변수). - 마법사는 기본적으로 Gateway(게이트웨이) 토큰을 생성합니다 (loopback 에서도).
- UI 는
connect.params.auth.token또는connect.params.auth.password를 전송합니다. - Control UI 는 클릭재킹 방지 헤더를 전송하며,
gateway.controlUi.allowedOrigins이 설정되지 않는 한 동일 출처 브라우저 WebSocket 연결만 허용합니다. - Serve 사용 시, Tailscale ID 헤더는
gateway.auth.allowTailscale이true인 경우 인증을 충족할 수 있습니다 (토큰/비밀번호 불필요). 명시적 자격 증명을 요구하려면gateway.auth.allowTailscale: false을 설정하십시오. 자세한 내용은 Tailscale 및 보안 을 참고하십시오. gateway.tailscale.mode: "funnel"는gateway.auth.mode: "password"(공유 비밀번호) 가 필요합니다.
UI 빌드
Gateway(게이트웨이)는dist/control-ui 에서 정적 파일을 제공합니다. 다음으로 빌드하십시오: