OPENCLAW GATEWAY
WS_CHALLENGE_
NO_REPLY_DEBUG.
2026.4.x 환경에서 WebSocket 은 열렸는데 connect.challenge 만 보이고 connect.reply 가 없어 CLI 가 멈추는 사례가 늘고 있습니다. 원인은 Ed25519 PKCS#8 서명 경로, Node+OpenSSL 조합, 혹은 리버스 프록시의 WebSocket 업그레이드 문제인 경우가 많습니다. 이 글은 증상 표, 5단계 사다리(status→trace→최소 서명 검증→전송→launchd), FAQ, 짧은 사례를 제공합니다. MACGPU의 doctor/게이트웨이 롤백/SSH·VNC/sessions Runbook 과 함께 읽으세요.
1. 고통 분해
TCP 성공이 앱 핸드셰이크 성공을 뜻하지 않습니다. 서명 오류가 debug 에만 남으면 challenge 이후가 조용히 멈춥니다. Node 마이너 차이로 PEM 처리가 달라질 수 있고, launchd 의 HOME/PATH 불일치는 401 대신 교착처럼 보입니다.
2. 증상 표
| 현상 | 층 | 증거 |
|---|---|---|
| Gateway 필요 명령 교착 | 핸드셰이크/서명 | challenge 만, CLI trace |
| 원격만 | 런타임/경로 | node 버전, device.json 권한 |
| 리버스 프록시 뒤만 | WS 업그레이드 | 499/504, Upgrade 헤더 |
| 업그레이드 후 산발 | 토큰/병렬 | 다중 터미널 타임라인 |
3. 5단계
Step 01
openclaw gateway status 와 RPC 프로브, gateway.mode=remote 잔재 확인.
Step 02
trace 로 challenge 직후 outbound reply 유무 확인.
Step 03
일회 환경에서 Ed25519 PEM 최소 서명 테스트.
Step 04
Upgrade, 타임아웃, 경로 오배선.
Step 05
launchd EnvironmentVariables 를 검증 셸과 일치, kickstart 후 doctor.
4. 결정 표
| 증거 | 선호 | 차선 | 피함 |
|---|---|---|---|
| REPL 서명 예외 | PEM/Node 정렬 | identity 재발급 | 무작정 재시작 |
| 프록시만 | WS 설정 | SSH 터널 임시 | 무인증 0.0.0.0 |
| 병렬 터미널 | CLI 직렬 | gateway token 단일 소스 | attach 경쟁 |
게이트: challenge 후 8초 내 outbound 시도 없으면 P0. macOS 에서 서명 OK·타깃 OS 에서 실패면 공개 bind 로 우회 금지.
5. FAQ
probe 녹색인데 일부만 멈춤? 초기화 경로가 다릅니다. 서명 끄기? 비추천. docker exec 만? HOME/시계/RO 마운트 확인.
6. 사례
Windows SYSTEM Node 24 가 Ed25519 PEM 을 엄격 파싱해 reply 가 사라졌고, LTS 마이너를 맞추자 P95 가 1.4초로 복귀.
7. 전망
challenge→reply 지연을 SLO 에 포함하세요. 상시 Gateway 는 노트에서 분리해 동일 런타임의 리모트 Mac 에 두는 것이 합리적입니다. MACGPU 렌탈로 베이스라인과 버스트를 시간 과금으로 보완하세요.