diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 3d9b406..5546f70 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -238,10 +238,10 @@ jobs: if [ "\$STATUS" = "200" ]; then echo "✓ [1/6] 헬스 체크 완료" - # 검증 1: 메인 페이지 로드. 앱/프록시/PathBase 조합에서 canonical redirect가 - # 발생할 수 있으므로 리다이렉트를 따라가 최종 200을 검증한다. - MAIN_STATUS=\$(curl -fsSL -o /dev/null -w '%{http_code}' http://127.0.0.1:5001/taxbaik/ 2>/dev/null || echo "000") - if [ "\$MAIN_STATUS" != "200" ]; then + # 검증 1: 메인 페이지 로드. curl -L + -w 는 리다이렉트 체인의 상태코드를 + # 이어붙이므로, 첫 응답 코드만 받아 200/3xx를 허용한다. + MAIN_STATUS=\$(curl -fsS -o /dev/null -w '%{http_code}' http://127.0.0.1:5001/taxbaik/ 2>/dev/null || echo "000") + if ! printf '%s' "\$MAIN_STATUS" | grep -Eq '^(200|301|302|307|308)$'; then echo "❌ 메인 페이지 로드 실패 (상태: \$MAIN_STATUS)" >&2 exit 1 fi