Repository navigation
Closed
Description
요약
운영 서버(mcp.aka.page)에서 올리브영 조회가 전부 실패하고, 9/11부터 Health Checks와 External Smoke도 매일 실패하고 있습니다.
원인은 #157과 같습니다. 원본 서버가 Cloudflare Worker 같은 데이터센터에서 오는 요청을 봇으로 보고 막습니다. 다만 #157처럼 Zyte 폴백을 붙이는 방식으로는 지금 복구할 수 없습니다.
- Zyte를 쓸 수 없습니다. 9/13까지 Zyte 계정이 정지되어 403이 났고(
Your account has been suspended), 9/15 커밋 5d96ec5(feat: Zyte 유료 호출 중지와 무료 조회 경로 추가 #185)부터는requestByZyte()가 항상 비용 정책 오류만 던집니다. - 올리브영이 쓸 수 있는 경로가 없습니다. 직접 요청은 403 보안 검증 페이지를 받고, 대체 경로인 브라우저 릴레이는 운영 Worker에 연결되어 있지 않습니다.
- fix: 편의점 Zyte 폴백과 운영 점검 복구 #157 폴백이 사실상 꺼졌습니다. #157에서 CU·세븐일레븐에 붙인
zyteJsonFallback이 이제 원본 서버의 오류 대신 비용 정책 오류를 던집니다. 그래서 운영 점검에서 실제 원인이 보이지 않습니다.
재현 절차
curl "https://mcp.aka.page/api/oliveyoung/products?keyword=%EB%A6%BD%EB%B0%A4&size=1"curl https://mcp.aka.page/health를 호출하고config를 확인합니다.- 최근 Health Checks 실행(예: 35379906516)과 External Smoke 실행(예: 35381196874)의 로그를 확인합니다.
기대 동작
- 올리브영 상품·매장·재고 조회가 정상 응답해야 합니다.
- 운영 점검은 실패한 서비스와 실제 원인(원본 서버 차단인지, 비용 정책 때문인지, 설정 누락인지)을 모두 보여줘야 합니다.
실제 동작
올리브영
OLIVEYOUNG_PRODUCT_SEARCH_FAILED: 올리브영 직접 요청 실패. 운영자는 OY_RELAY_URL과 OY_RELAY_TOKEN으로 브라우저 릴레이를 설정해주세요.
- 이 메시지는
src/services/oliveyoung/transport.ts에서relayUrl이 없을 때만 나옵니다. 즉 운영 Worker에OY_RELAY_URL이 설정되어 있지 않습니다. docs/oliveyoung-free-relay.md에 따르면 일반 HTTP와 headless 브라우저는 막히고, 화면이 있는 Chromium만 통과합니다. 따라서 직접 요청은 복구 경로가 될 수 없습니다..github/workflows/sync-worker-secrets.yml이OY_RELAY_URL,OY_RELAY_TOKEN,OY_ACCESS_CLIENT_ID,OY_ACCESS_CLIENT_SECRET을 동기화하지 않습니다.- 1.2.1에서 릴레이 코드는 배포됐지만 운영 연결(Mac 전용 GUI 계정, Tunnel, Access, DNS, Worker secrets)은 구성되지 않았습니다.
- 실패 시 쓰는 30분 stale 캐시는 한 번도 성공한 적이 없고 Worker 인스턴스마다 따로 저장되므로 도움이 되지 않습니다.
운영 점검
- 9/18 Health Checks 결과는
status=fail failed=12 degraded=1입니다.cu.stores,gs25.products,seveneleven.*,cli.contract체크가 모두Zyte 유료 호출은 비용 정책에 따라 비활성화되어 있습니다.로 실패합니다.src/utils/zyteJsonFallback.ts는 직접 요청이 400/403/429일 때 Zyte로 넘깁니다. 이제는 그 단계에서 비용 정책 오류가 나면서 원래 HTTP 오류가 가려집니다.
.github/workflows/health-checks.yml의 요약이lines.slice(0, 6)으로 앞의 6개만 보여줘서, 올리브영 실패가 요약과 알림에 드러나지 않습니다./health는status: ok를 돌려주지만config에 올리브영 릴레이 항목이 없습니다(src/api/configStatus.ts). 그래서 설정 누락이 점검에 드러나지 않습니다.- External Smoke의
cli.oliveyoung,cli.gs25,cli.seveneleven,mcp.gs25등이 매일 실패합니다.
환경 정보
- 운영:
https://mcp.aka.page(npm 1.2.1, main 9c0d8d7 기준) - 관련: fix: 편의점 Zyte 폴백과 운영 점검 복구 #157, feat: Zyte 유료 호출 중지와 무료 조회 경로 추가 #185, feat: Mac 중계의 브라우저 수명과 접근 보호 강화 #186
- 확인일: 2026-09-19
Metadata
Metadata
Assignees
Labels
No labels
Activity