프록시 호스트 관리 (Proxy Host Management)
Nginx Proxy Guard의 핵심 기능인 프록시 호스트 관리 기능을 상세히 설명합니다.
기본 기능
다중 도메인 지원
- SNI 지원: 하나의 호스트에 여러 도메인 연결
- 와일드카드:
*.example.com형식 지원 - 서브도메인: 독립적인 서브도메인 설정
포워딩 설정
| 설정 | 설명 |
|---|---|
| 프로토콜 | HTTP 또는 HTTPS |
| 호스트명 | 백엔드 서버 주소 |
| 포트 | 백엔드 서버 포트 |
| 경로 | 프록시 경로 (기본: /) |
WebSocket 지원
실시간 양방향 통신을 위한 WebSocket 업그레이드를 완벽하게 지원합니다.
- 자동 Connection Upgrade
- 커스텀 헤더 전달
- 타임아웃 설정
캐싱
정적 리소스에 대한 캐싱 설정을 지원합니다.
- 캐시 활성화/비활성화
- 캐시 유효 기간 설정
- 캐시 키 커스터마이징
고급 설정
커스텀 Location 블록
Nginx location 블록을 직접 추가하여 세밀한 설정이 가능합니다.
# 특정 경로에 대한 설정
location /api/ {
proxy_pass http://api-server:8080;
proxy_read_timeout 300s;
}
# 정적 파일 처리
location /static/ {
alias /var/www/static/;
expires 30d;
}
Advanced Configuration
Nginx 설정을 직접 편집할 수 있습니다.
주의: 보안을 위해 다음 지시어는 차단됩니다:
load_module- 외부 모듈 로드lua_*,perl_*,js_*- 스크립트 실행- 쉘 명령어가 포함된
proxy_pass
설정 예시
# 요청 타임아웃 설정
proxy_connect_timeout 60s;
proxy_read_timeout 120s;
proxy_send_timeout 60s;
# 버퍼 설정
proxy_buffer_size 128k;
proxy_buffers 4 256k;
# 헤더 설정
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
호스트 관리
활성화/비활성화
호스트를 삭제하지 않고 일시적으로 비활성화할 수 있습니다.
- 비활성화 시 해당 호스트로의 트래픽 차단
- 설정 보존
- 빠른 활성화/비활성화 전환
설정 동기화
모든 프록시 호스트의 Nginx 설정을 동기화합니다.
- 설정 변경 후 일괄 적용
- 불일치 설정 수정
- Nginx 재시작 없이 적용
호스트 테스트
프록시 설정이 올바르게 동작하는지 테스트합니다.
- 백엔드 연결 확인
- SSL/TLS 설정 검증
- 응답 상태 확인
보안 설정 통합
각 프록시 호스트별로 독립적인 보안 설정을 적용할 수 있습니다.
호스트별 보안 기능
| 기능 | 설명 |
|---|---|
| WAF | 호스트별 WAF 모드 및 Paranoia Level |
| Rate Limiting | 호스트별 요청 제한 |
| Fail2ban | 호스트별 자동 차단 |
| 봇 필터 | 호스트별 봇 차단 규칙 |
| GeoIP | 호스트별 지역 제한 |
| URI 차단 | 호스트별 경로 차단 |
| 보안 헤더 | 호스트별 헤더 설정 |
| 챌린지 | 호스트별 CAPTCHA 설정 |
| 클라우드 차단 | 호스트별 클라우드 프로바이더 차단 |
SSL/TLS 설정
인증서 연결
- Let's Encrypt 인증서 자동 연결
- 커스텀 인증서 업로드
- 자체 서명 인증서 생성
Force HTTPS
HTTP 요청을 HTTPS로 자동 리다이렉트합니다.
HTTP/2 & HTTP/3
- HTTP/2 기본 활성화
- HTTP/3 (QUIC) 지원
- ALPN 프로토콜 협상
모범 사례
새 호스트 생성 시
- 기본 프록시 설정 구성
- SSL 인증서 발급/연결
- 보안 설정 (WAF, 봇 필터 등) 적용
- 테스트 후 활성화
문제 해결
- 502 Bad Gateway: 백엔드 서버 연결 확인
- 504 Gateway Timeout: 타임아웃 설정 증가
- SSL 오류: 인증서 유효성 및 설정 확인