#!/bin/bash
# 실습 #2 — 기본 Reverse Proxy ⭐ [필수]
# 실행 시 sudo 권한 필요
set -e

CFG="$(dirname "$0")/configs/01_lab-proxy"

# 1) Nginx 설치 + 시작
sudo apt update && sudo apt install -y nginx
sudo systemctl status nginx --no-pager    # active (running) 확인

# 2) 백엔드 :3000 — 다른 터미널에서 띄우는 안내
if ! ss -tln | grep -q ":3000 "; then
    echo "⚠️  백엔드 :3000 미실행. 다른 터미널에서 먼저:"
    echo "    mkdir -p /tmp/site && cd /tmp/site"
    echo "    echo '<h1>Backend OK</h1>' > index.html"
    echo "    python3 -m http.server 3000 --bind 127.0.0.1"
    echo
    read -p "백엔드 :3000 띄운 후 Enter (또는 Ctrl+C 종료) ..."
fi

# 3) Reverse Proxy 설정 배포 (configs/01_lab-proxy 사용)
sudo cp "$CFG" /etc/nginx/sites-available/lab-proxy

# 4) 활성화 + 테스트
sudo ln -sf /etc/nginx/sites-available/lab-proxy \
            /etc/nginx/sites-enabled/lab-proxy
sudo rm -f /etc/nginx/sites-enabled/default
sudo nginx -t                    # syntax OK
sudo systemctl reload nginx

# 5) 검증
echo
echo "=== 검증 ==="
echo "→ 200 OK + Backend OK"
curl -s http://localhost/
echo
echo "→ Server 헤더"
curl -sI http://localhost/ | head -3
echo
echo "→ 로그 모니터: sudo tail -f /var/log/nginx/lab-proxy.access.log"
