MS_ADMIN_API_KEY 서버(7490fb)의 /etc/miho/mihosrc.env 에 있습니다. 확인: sh grep MS_ADMIN_API_KEY /etc/miho/mihosrc.env 없으면 지금 생성해서 추가: sh echo "MS_ADMIN_API_KEY=$(openssl rand -hex 24)" | sudo tee -a /etc/miho/mihosrc.env grep MS_ADMIN_API_KEY /etc/miho/mihosrc.env # 생성된 값 확인 추가 후 서버 재기동 필요: sh pkill -x mihosrc; sleep 2 set -a; . /etc/miho/mihosrc.env; set +a mihosrc all 2>&1 | tee /tmp/mihosrc_debug.log SCHEDULE_DISPATCHER_KEY 이건 기존에 없는 새로 만드는 키 입니다. 아무 긴 랜덤 문자열이면 됩니다. web 서버에서: sh openssl rand -hex 32 나온 값을 web/.env.local 에 그대로 씁니다. 예: SCHEDULE_DISPATCHER_KEY=a1b2c3d4e5f6... 이 키는 cron에서 dispatcher를 호출할 때 x-dispatcher-key 헤더로 씁니다. 서버(7490fb)와 web 앱(.env.local) 두 곳에 같은 값 이 있으면 됩니다 — 외부에 노출되지 않는 내부 인증 키라 복잡한 관리 필요 없습니다. 정리 키 위치 없으면 MS_ADMIN_API_KEY 7490fb /etc/miho/mihosrc.env openssl rand -hex 24 로 생성 후 추가 + mihosrc 재기동 SCHEDULE_DISPATCHER_KEY web .env.local openssl rand -hex 32 로 생성, 아무 값이나 OK 두 키를 확인·생성하셨으면 .env.local 에 이렇게 채우면 됩니다: sh # web 서버에서 cat >> .env.local << EOF MIHOSOCKET_URL=http://10.8.0.105:8080 MIHOSOCKET_ADMIN_KEY=<MS_ADMIN_API_KEY 값> SCHEDULE_DISPATCHER_KEY=<방금 생성한 값> EOF MIHOSOCKET_URL= http://10.8.0.105:8080 ip가 아니도 도메인으로 처리해야지... 맞습니다. IP 직접 쓰면 변경 시 관리가 어렵고, 이미 도메인이 있는데 쓰지 않을 이유가 없습니다. 현재 도메인 매핑은 이렇습니다: api.ap1.mihosrc.com → 59.31.133.207 (b1200b HAProxy) → HAProxy 10443 복호화 → 10.8.0.105:8080 (mihosocket) 그러면 두 가지 선택이 있습니다: ① 공인 도메인 (HAProxy 경유) MIHOSOCKET_URL=https://api.ap1.mihosrc.com Next.js 앱이 외부에 있거나 내부라도 도메인 통일이 목적이면 이게 맞습니다. 단 TLS 오버헤드 있고, HAProxy가 중간에 있습니다. ② 내부 도메인/주소 직접 (web 앱이 같은 내부망이면) Web 앱이 10.8.0.x WireGuard 안에 있으면 HAProxy 안 거치고 직접: MIHOSOCKET_URL=http://10.8.0.105:8080 도메인으로 쓰려면 내부 DNS나 /etc/hosts 에 등록하면 됩니다. web 앱(Next.js)이 어디서 도는지 에 따라 달라집니다. 지금 mihosrc.com 도메인으로 서비스 중이고 HAProxy 뒤에 있으니, ①번이 정석 입니다: sh # web .env.local MIHOSOCKET_URL=https://api.ap1.mihosrc.com MIHOSOCKET_ADMIN_KEY=<MS_ADMIN_API_KEY 값> SCHEDULE_DISPATCHER_KEY=<생성한 값> 다만 api.ap1.mihosrc.com 이 mihosocket(8080)으로 가는 경로가 **HTTPS(10443 복호화 계층)**를 통하는 거라, 인증서 검증이 필요합니다. 이미 Let's Encrypt 인증서가 있으니 문제없습니다. lib/miho-command.ts 에서 URL 기본값도 도메인으로 수정해드리겠습니다: Change default MIHOSOCKET_URL to domain instead of IP Change default MIHOSOCKET_URL to domain instead of IP 주석도 정리합니다: Update comment to reflect domain-based URL Update comment to reflect domain-based URL Claude is AI and can make mistakes. Please double-check responses.