2026 OpenClaw 게이트웨이 Webhook과 GitHub 통합

GitHub 저장소 웹훅OpenClaw게이트웨이에 붙이면 실패는 대개 인프라입니다. 공개 URL·TLS 종단·원시 POST 바디·콜드 스타트가 한 칸이라도 어긋나면 서명은 맞아도 깨지고, 배달은 401이나 타임아웃으로 남습니다. TLS·X-Hub-Signature-256·NTP·온콜 체크를 같은 순서로 재현합니다. 경로 정리는 2026 OpenClaw 원격 Mac 배포 실무: 설치 경로 대조, Docker와 로컬 상주, 흔한 오류와 워크플로 사례, 디스크·캐시 병목은 2026 다중 Mac 자체 호스팅 Runner·병렬 CI: GitHub Actions Cache와 로컬 영구 디스크, 경쟁 잠금·디스크 포화·아티팩트 정리 — 기업 리소스 풀 FAQ와 함께 보세요.

1. 시크릿 전에 공개 콜백 경로를 고정한다

GitHub은 공인망에서 호출합니다. TLS 종단이 nginx·LB·터널이든 호스트·경로·헤더 가공을 문서화하고, LAN 밖 curl -v로 재현하세요. 루프백만 성공하면 NAT/SNI 문제입니다. 프록시가 본문을 버퍼링하면 앱은 서명과 같은 원시 바이트를 읽어야 하며, 인프라 표준 URL과 GitHub 설정 문자열을 한 글자도 다르지 않게 맞춥니다.

스모크: 외부 curl이 빠른 ACK가 아니면 시크릿 교체 전에 진입부를 고칩니다.

2. 서명·시각은 GitHub 계약 그대로

원시 POST 본문을 HMAC-SHA256으로 해시해 X-Hub-Signature-256과 상수 시간 비교합니다. NTP로 Mac 시각을 맞추고, 배달 ID를 멱등 키로 써 재전달이 중복 적용되지 않게 합니다.

3. 저장소 설정 정합

application/json·SSL 검증 유지를 기본으로 두고, Recent Deliveries 응답으로 프록시 논쟁을 끝냅니다. 시크릿은 GitHub과 게이트웨이를 같은 창에서 교체한 뒤 ping으로 확인하세요.

4. “시크릿은 맞는데 401”

전역 Authorization·Basic·CDN 규칙이 웹훅 경로를 덮는지, JSON 재직렬화로 서명이 깨지는지, 엣지가 앱보다 먼저 401을 내는지 순서대로 봅니다. 배달 ID와 액세스 로그를 같은 밀리초 창에 겹칩니다.

5. 타임아웃과 콜드 스타트

무거운 일은 큐로 넘기고 HTTP는 빨리 닫으며, 가능하면 202로 응답합니다. 프록시 타임아웃을 현실에 맞추고, 재부팅 직후 콜드를 줄이려면 2026 OpenClaw 게이트웨이 launchd 안정성 핸드북: doctor·status·로그 대조, 포트 점유와 이중 LaunchAgent 충돌 — 원격 상주 Mac 실무에서 launchd 예열을 함께 맞춥니다. 이후 배달은 중복일 수 있으니 이벤트 ID 멱등을 유지합니다.

6. 온콜용 붙여 넣기 체크리스트

  • 밖에서 친 curl URL이 GitHub 웹훅 URL과 문자 단위로 같고, 끝 슬래시까지 일치합니다.
  • HMAC에 쓰는 본문은 원시 POST이며, 프록시가 예기치 않게 변환·압축 해제하지 않습니다.
  • Mac 시계가 NTP 기준 몇 초 안에 있고, 상류 TLS가 수동 시각 수정 없이 성공합니다.
  • 전역 인증 미들웨어가 웹훅 경로를 가로채지 않습니다.
  • 핸들러는 빨리 응답하고, 무거운 작업은 지연·멱등 처리됩니다.

웹훅에는 Mac mini 같은 상시 호스트가 잘 맞는다

시계·디스크·가벼운 부하에도 웹훅은 민감합니다. Mac mini(Apple Silicon)는 단일 스레드와 낮은 유휴 전력을 같이 주고, Unix·Homebrew·macOS Gatekeeper·SIP·FileVault로 공인망 노드를 설명하기 쉽습니다. 리전별 전용 노드를 늘리려면 Macstripe 홈에서 구성을 비교하세요.

TLS·서명 검증·CI 트리거를 한 상자에 얹고 싶다면 Mac mini M4가 현실적인 출발점입니다. 전용 클라우드 Mac이 필요하면 Macstripe 홈 페이지에서 리전을 확인하세요.