리다이렉트 호스트
NginxProxyGuard의 리다이렉트 호스트 기능을 사용하면 도메인 간 트래픽 리다이렉션을 쉽게 설정할 수 있습니다.
개요
리다이렉트 호스트는 특정 도메인으로 들어오는 요청을 다른 URL로 전달하는 기능입니다. 프록시 호스트와 달리 백엔드 서버로 트래픽을 전달하지 않고, 클라이언트에게 새로운 URL로 이동하라는 응답을 보냅니다.
주요 사용 사례
1. HTTP → HTTPS 강제 리다이렉트
http://example.com → https://example.com
보안을 위해 모든 HTTP 트래픽을 HTTPS로 전환합니다.
2. www 서브도메인 통합
http://www.example.com → https://example.com
https://www.example.com → https://example.com
SEO와 일관성을 위해 www 유무를 통일합니다.
3. 도메인 변경/마이그레이션
https://old-domain.com/* → https://new-domain.com/*
기존 도메인에서 새 도메인으로 이전 시 트래픽을 전달합니다.
4. 경로 리다이렉트
https://example.com/old-page → https://example.com/new-page
사이트 구조 변경 시 기존 URL을 새 URL로 연결합니다.
지원 상태 코드
| 상태 코드 | 유형 | 설명 | 캐싱 |
|---|---|---|---|
| 301 | 영구 이동 | 검색 엔진이 새 URL을 인덱싱 | 브라우저 캐싱됨 |
| 302 | 임시 이동 | 검색 엔진이 원래 URL 유지 | 캐싱 안됨 |
| 307 | 임시 리다이렉트 | HTTP 메서드 유지 (POST → POST) | 캐싱 안됨 |
| 308 | 영구 리다이렉트 | HTTP 메서드 유지 + 영구 | 브라우저 캐싱됨 |
언제 어떤 코드를 사용할까?
- 301: 도메인 변경, www 통합 등 영구적인 변경
- 302: A/B 테스트, 임시 점검 페이지
- 307: POST 요청을 유지해야 하는 임시 리다이렉트
- 308: POST 요청을 유지해야 하는 영구 리다이렉트
리다이렉트 설정 방법
기본 설정
- Redirects 메뉴로 이동
- Add Redirect Host 버튼 클릭
- 다음 정보 입력:
- 소스 도메인: 리다이렉트할 원본 도메인
- 대상 URL: 리다이렉트 목적지 URL
- 상태 코드: 301, 302, 307, 308 중 선택
- 경로 유지: 원본 경로를 대상 URL에 추가할지 여부
경로 유지 옵션
경로 유지 활성화 시:
https://old.com/blog/post-1 → https://new.com/blog/post-1
https://old.com/about → https://new.com/about
경로 유지 비활성화 시:
https://old.com/blog/post-1 → https://new.com/
https://old.com/about → https://new.com/
와일드카드 지원
리다이렉트 호스트는 와일드카드 도메인을 지원합니다:
*.example.com → https://example.com
모든 서브도메인(blog.example.com, api.example.com 등)을 메인 도메인으로 리다이렉트합니다.
SSL 인증서 연동
리다이렉트 호스트도 HTTPS를 사용하려면 SSL 인증서가 필요합니다:
- Certificates 메뉴에서 소스 도메인용 인증서 발급
- 리다이렉트 호스트 설정에서 해당 인증서 선택
- 자동 HTTP → HTTPS 리다이렉트 활성화
프록시 호스트와의 차이점
| 기능 | 프록시 호스트 | 리다이렉트 호스트 |
|---|---|---|
| 트래픽 처리 | 백엔드로 프록시 | 클라이언트 리다이렉트 |
| 응답 | 백엔드 응답 전달 | 3xx 상태 코드 |
| 콘텐츠 수정 | 가능 | 불가능 |
| 보안 기능 | WAF, 봇 필터 등 | 기본 SSL만 |
| 사용 사례 | 애플리케이션 서빙 | URL 전환 |
모범 사례
SEO를 위한 권장사항
-
영구 변경에는 301/308 사용
- 검색 엔진이 새 URL을 인덱싱하도록 함
-
리다이렉트 체인 방지
- A → B → C 대신 A → C로 직접 설정
-
경로 유지 활용
- 사이트 구조가 동일하면 경로 유지 활성화
성능 최적화
-
불필요한 리다이렉트 제거
- 리다이렉트는 추가 요청을 발생시킴
-
캐싱 활용
- 301/308은 브라우저가 캐싱하므로 반복 요청 감소
문제 해결
무한 리다이렉트 루프
- 소스와 대상이 같은 도메인인지 확인
- 프록시 호스트와 리다이렉트 호스트가 충돌하지 않는지 확인
리다이렉트가 작동하지 않음
- DNS 설정이 올바른지 확인
- SSL 인증서가 유효한지 확인
- nginx 설정 동기화 수행 (Sync to Nginx)
POST 요청이 GET으로 변환됨
- 307 또는 308 상태 코드 사용
- 301/302는 POST를 GET으로 변환할 수 있음