BunkerWeb 이란
BunkerWeb은 보안에 특화된 리버스 프록시로, 기존 Nginx를 대체할 수 있는 솔루션
Docker나 Kubernetes 환경에 최적화되어 있어 컨테이너 기반 시스템에서 빠르게 적용할 수 있는 장점이 있음
주요 기능
- WAF 내장 (ModSecurity + CRS)
- HTTPS 자동 구성 (Let's Encrypt)
- 보안 헤더 자동 삽입
- Rate limiting / DDoS 대응
- 로그 및 모니터링 지원
도입 상황
- Nginx 보안 설정이 번거로울 때
- HTTPS 자동 갱신이 필요할 때
- 최소한의 설정으로 웹 보안을 강화하고 싶을 때
도입 시 겪은 문제: HTTP/2 프로토콜 오류
DEV 환경에 도입한 상태로 테스트 중 스크립트에서 오류가 발생함
net::ERR_HTTP2_PROTOCOL_ERROR 200 (OK)
응답 상태는 200 OK지만, 브라우저에서는 HTTP/2 프로토콜 오류로 처리되어 정상적으로 데이터를 주고받지 못하는 이슈
오류 발생 원인
- BunkerWeb과 백엔드의 압축 설정 중복
→ 예: Gzip이나 Brotli가 중복 적용되어 바디 해석 오류 발생 - HTTP/2 전용 헤더 구조 위반
→ Content-Length, Transfer-Encoding 등의 헤더 충돌 - TLS/ALPN 설정 누락 또는 비호환 응답
** 이 중 1번 째 케이스는 아닌것으로 확인됨.
해결 방향
- BunkerWeb에서 압축 비활성화하거나 백엔드와 역할 분리
- 불필요한 응답 헤더 제거 (Content-Length, Transfer-Encoding 등)
- bunkerweb.toml에서 http2 = true 설정을 명시
- curl --http2 등을 활용해 로컬에서 직접 테스트
2번과 3번 테스트 예정!
'CS 정리' 카테고리의 다른 글
| Feign 사용해보기 (1) | 2025.08.11 |
|---|---|
| Java + Kotlin 혼용 개발 (0) | 2025.07.31 |
| HTTPS(HyperText Transfer Protocol + SSL/TLS) (0) | 2025.07.23 |
| OAuth2의 4가지 Grant Type (0) | 2025.07.21 |
| Spring Security + Keycloak으로 SSO 구현하기 (0) | 2025.07.13 |