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 맥 미니 장기 렌탈