2026 맥 미니 대여 7×24 의사결정 매트릭스: certbot 자동 갱신·launchd 헬스 프로브·야간 침묵 파라미터

약 9분

🔐 맥 미니 대여칠곱이십사 게이트웨이·리버스 프록시·업타임을 돌리는 독립 개발자는 새벽에도 certbot 갱신·launchd 헬스 프로브·UTC 침묵창이 어긋나면 티엘에스가 먼저 끊깁니다.

본문은 챌린지 모드 의사결정 매트릭스·복붙 plist·crontab·여섯 단계 런북·전원 FAQ만 담습니다. 매트릭스· 단계· · launchd 대 PM2· APFS 수위 FAQ.

렌탈 맥 미니에서 티엘에스가 깨지는 세 가지

프로세스가 살아 있어도 notAfter가 지나면 모니터는 녹색일 수 있습니다.

  1. 챌린지 드리프트 — 팔십 포트가 막히면 HTTP-01이 실패하고 DNS-01 토큰은 셸 히스토리에만 남습니다.
  2. reload 범위renew-hook이 nginx 대신 OpenClaw 게이트웨이까지 재시작하면 야간 배치가 끊깁니다.
  3. 침묵 공백certbot 갱신 알림만 억제하고 만료 헬스 프로브는 없으면 침묵 중에 만료됩니다.

HTTP-01 / DNS-01: certbot 챌린지 어떻게 고를까

호스트네임마다 주 모드 하나만 고정하세요. 와일드카드는 DNS-01 필수입니다. 스테이징 발급 후 프로덕션으로 옮기기 전에 챌린지 로그를 한 번 보관해 두면 이후 장애 분석이 빨라집니다.

  • HTTP-01 — nginx가 /.well-known/acme-challenge/를 서빙할 때.
  • DNS-01 — 팔십 포트 차단·와일드카드 — API 토큰은 키체인.
certbot certonly --staging --nginx -d gateway.example.dev
# 검증 후:
certbot certonly --nginx -d gateway.example.dev \
  --deploy-hook /usr/local/bin/reload-proxy.sh

칠곱이십사 certbot·launchd 의사결정 매트릭스

제어시작값메모
챌린지HTTP-01 또는 DNS-01와일드카드→DNS-01
갱신 주기03:17·15:17 로컬백업·배치와 분리
헬스60s curl + 14일 게이트7일 미만 즉시 페이징
UTC 침묵22:00–06:00+30분P1 우회
스케줄러launchd LaunchAgent실험실만 crontab
renew-hook프록시만게이트웨이 재시작 금지

launchd·renew-hook·crontab 폴백

칠곱이십사 호스팅StartCalendarInterval LaunchAgent가 재부팅·로그 경로에 유리합니다. launchctl bootstrap gui/$(id -u)로 plist를 올린 뒤 launchctl print gui/$(id -u)/com.runmini.certbot-renew로 다음 실행 시각을 확인하세요. launchd 대 PM2로 Node 게이트웨이와 이중 재시작을 막으세요.

# ~/Library/LaunchAgents/com.runmini.certbot-renew.plist
ProgramArguments: certbot renew -q --deploy-hook /usr/local/bin/reload-proxy.sh
StartCalendarInterval: Hour 3,17 Minute 17
StandardOutPath: /var/log/certbot-renew.log

# reload-proxy.sh — nginx만; OpenClaw 재시작 금지
nginx -t && kill -HUP "$(cat /usr/local/var/run/nginx.pid)"

# crontab 폴백:
# 17 3,15 * * * certbot renew -q --deploy-hook /usr/local/bin/reload-proxy.sh

침묵창·헬스 프로브·알람 라우팅

예상 certbot 갱신 reload 노이즈는 UTC 침묵창에 넣고, 만료·업스트림 실패는 육십초 헬스 프로브가 잡습니다.

# tls-health.sh — 60s LaunchAgent
DAYS=$(( ( $(date -j -f "%b %d %T %Y %Z" "$(openssl … -enddate|cut -d= -f2)" +%s) - $(date +%s) ) / 86400 ))
[ "$DAYS" -lt 14 ] && curl -fsS -X POST "$ALERT_URL" -d "{\"days_left\":$DAYS}"
curl -fsS --max-time 5 https://gateway.example.dev/healthz
  • 비P1 웹훅 22:00–06:00 UTC + 갱신 버퍼 삼십분.
  • days_left < 7 즉시 페이징·십사일 이상은 warn만.

디스크·로그 수위 (APFS)

APFS 수위 FAQ와 동일 임계를 쓰세요.

  • 황색 15% — certbot 일시 중지·적색 10% — 갱신 중단+페이징.
  • certbot-renew.log newsyslog 128MB×칠일.

여섯 단계 롤아웃

  1. ·구매·고객센터로 노드·df -h 베이스라인.
  2. certbot certonly --staging으로 챌린지 검증.
  3. renew plist·reload-proxy.sh 로드·로그 tail.
  4. 육십초 TLS+/healthz 프로브·침묵 밖 페이징.
  5. 프로덕션 인증서·notAfter 기록.
  6. certbot renew --dry-run·프록시만 reload·침묵 검증.

인용 가능한 임계

  • 갱신 03:17·15:17·헬스 60s·만료 14/7일
  • 침묵 22–06 UTC+30분·renew-hook nginx만
  • APFS 15/10%·로그 128MB×7

전원 복구 FAQ

야간 OpenClaw — renew-hook은 프록시만·게이트웨이 라벨 재시작 금지·dry-run 선행.
launchd vs crontab — 렌탈은 LaunchAgent·실험실만 crontab·수호 가이드 참고.
전원 글리치launchctl list·인증서·APFS 여유 후 알람 재개.

요약. APFS FAQ로 디스크를 맞춘 뒤 구매에서 첫 조용한 갱신 밤을 확인하세요.

certbot 7×24 맥 미니 장기 렌탈