# Nginx Deploy - Robeing Project Ubuntu 서버용 Nginx 리버스 프록시 배포 저장소입니다. ## 구조 ``` nginx-deploy/ ├── .github/workflows/deploy.yml # GitHub Actions 배포 스크립트 ├── default.conf # Nginx 설정 파일 ├── docker-compose.yml # Docker Compose 정의 └── README.md # 이 파일 ``` ## 배포 플로우 1. **main 브랜치에 push** 2. **GitHub Actions** 자동 실행 3. **파일 전송** (Ubuntu 서버 ~/robeing-nginx) 4. **Docker Compose** 자동 재시작 ## 서버 설정 ### GitHub Secrets 설정 ``` NAS_HOST: 124.55.18.179 NAS_PORT: 51123 NAS_USER: admin NAS_SSH_KEY_ADMIN: SSH 개인키 ``` ### 서버 요구사항 - Ubuntu 22.04 LTS - Docker & Docker Compose 설치 - admin 사용자 sudo 권한 (NOPASSWD) - 포트 80, 443 오픈 ## 프록시 라우팅 - `https://ro-being.com/` → 192.168.219.45:5173 (메인 프론트엔드) - `https://ro-being.com/api/` → 192.168.219.45:18000 (frontend/backend) - `https://ro-being.com/rb8001/` → 192.168.219.45:8001 (api_base) ## SSL 설정 서버 자체에 SSL 설정 완료: - Ubuntu 서버에서 certbot으로 SSL 인증서 관리 - Docker 컨테이너는 8080 포트에서 HTTP만 처리 - 서버 nginx가 HTTPS → HTTP(8080) 프록시 ## 로컬 테스트 ```bash # 서버에서 직접 실행 cd ~/robeing-nginx docker compose up -d # 로그 확인 docker compose logs -f nginx # 내부 서비스 확인 curl http://localhost:8080 ``` ## 배포 상태 확인 ```bash # 서비스 상태 확인 curl -I https://ro-being.com # 컨테이너 상태 확인 docker compose ps ```