#!/bin/bash # TaxBaik Nginx 설정 최종 수정 (중복 location / 제거) set -e NGINX_FILE="/etc/nginx/sites-available/taxbaik-domains.conf" BACKUP_FILE="${NGINX_FILE}.backup.$(date +%Y%m%d_%H%M%S)" echo "🔧 TaxBaik Nginx 설정 최종 수정" echo "==================================" echo "" # 1. 백업 생성 echo "1️⃣ 백업 생성..." sudo cp "$NGINX_FILE" "$BACKUP_FILE" echo " ✅ 백업: $BACKUP_FILE" echo "" # 2. Python으로 설정 수정 echo "2️⃣ 설정 수정 중..." sudo python3 << 'PYTHON_SCRIPT' import re nginx_file = "/etc/nginx/sites-available/taxbaik-domains.conf" with open(nginx_file, 'r') as f: content = f.read() # 첫 번째 location / 블록 제거 (taxbaik 프리픽스 있는 것) # 이것은 이제 필요 없음 (Option B: /taxbaik/ 프리픽스 제거) pattern = r'# /admin 하위 요청을.*?location / \{[^}]*proxy_pass http://127\.0\.0\.1:5001/taxbaik/;[^}]*\}' content = re.sub(pattern, '', content, flags=re.DOTALL) # 정리: 공백 정리 content = re.sub(r'\n\s*\n\s*\n', '\n\n', content) with open(nginx_file, 'w') as f: f.write(content) print("✅ Python으로 수정 완료") PYTHON_SCRIPT echo "" # 3. 수정된 설정 확인 echo "3️⃣ 수정된 설정 확인..." echo " ===" sudo grep -A 8 "location /" "$NGINX_FILE" | head -15 echo " ===" echo "" # 4. 문법 검증 echo "4️⃣ Nginx 문법 검증..." if sudo nginx -t 2>&1 | grep -q "successful"; then echo " ✅ 문법 검증 성공" else echo " ❌ 문법 오류 - 롤백 중..." sudo cp "$BACKUP_FILE" "$NGINX_FILE" echo " ✅ 롤백 완료" exit 1 fi echo "" # 5. Nginx 재로드 echo "5️⃣ Nginx 재로드..." sudo systemctl reload nginx echo " ✅ 재로드 완료" echo "" # 6. 최종 확인 echo "6️⃣ 최종 확인..." if curl -sf http://127.0.0.1:5001/ > /dev/null; then echo " ✅ 로컬호스트 응답 정상" else echo " ⚠️ 로컬호스트 응답 확인 필요" fi echo "" echo "✅ 설정 수정 완료!" echo "" echo "📝 변경 사항:" echo " - 첫 번째 location / 블록 제거 (중복)" echo " - 남은 location / 블록이 / 경로 처리" echo "" echo "🔙 백업 파일: $BACKUP_FILE"