프론트엔드(CloudFront)와 백엔드 서버들 사이의 게이트웨이 서버입니다.
- 프론트엔드의 단일 진입점 제공
- 요청 라우팅:
/api/*→ Backend 서버 (포트 8080)/ai/*→ Backend-Relay 서버 (포트 8081)
- CORS 처리
- 요청/응답 로깅
# 빌드
./gradlew build
# 실행
./gradlew bootRun.env 파일에 다음 변수를 설정하세요:
# 게이트웨이 서버 포트
GATEWAY_PORT=8082
# 백엔드 서버 URL
BACKEND_BASE_URL=http://localhost:8080
BACKEND_RELAY_URL=http://localhost:8081
# CORS 설정
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:5173,https://*.cloudfront.net
CORS_ALLOWED_METHODS=GET,POST,PUT,DELETE,OPTIONS,PATCH
CORS_ALLOWED_HEADERS=*
CORS_ALLOW_CREDENTIALS=true
CORS_MAX_AGE=3600- Public Subnet의 EC2에 배포
- 포트 80/443 사용 (또는 ALB 사용)
- Security Group: 80, 443 포트만 허용
- Backend 서버들은 Private Subnet에 배포하고, 게이트웨이에서만 접근 가능하도록 설정