피드로 돌아가기
Dev.toInfrastructure
원문 읽기
NGINX auth_request 기반 중앙 집중형 Auth Gateway 설계
NGINX auth_request: the small primitive that changed everything
AI 요약
Context
모든 서비스에 개별적으로 포함된 Auth Library 운영에 따른 관리 효율성 저하 발생. 서비스 핫 패스(Hot Path)에서 인증 로직을 제거하여 인프라 수준의 단일 결정 지점 구축 필요성 대두.
Technical Solution
- auth_request 지시어를 통한 메인 요청 전 내부 subrequest 실행 구조 설계
- proxy_pass_request_body off 및 POST 메서드 강제 적용을 통한 대용량 페이로드 버퍼링 차단 및 성능 최적화
- X-Original-URI 등 커스텀 헤더 설정을 통한 원본 요청 컨텍스트의 Auth Service 전달 체계 구축
- proxy_buffering off 및 HTTP/1.1 Keepalive 설정을 통한 TCP 연결 재사용 및 마이크로초 단위 지연 시간 단축
- internal 지시어를 활용한 인증 엔드포인트의 외부 접근 차단 및 보안 강화
- HTTP 상태 코드(2xx, 401, 403) 중심의 결정 체계 구축 및 Response Body 배제를 통한 처리 단순화
실천 포인트
1. auth_request 사용 시 proxy_pass_request_body off 설정으로 대용량 요청의 메모리 버퍼링 여부 확인
2. 서브리퀘스트 대상 엔드포인트에 internal 지시어를 적용하여 외부 직접 호출 가능성 차단
3. HTTP/
1.1 및 Connection 헤더 최적화로 인증 서비스와의 커넥션 풀링 적용 여부 검토
4. 인증 서비스 응답 시 Body가 아닌 HTTP Status Code와 Header 기반으로 의사결정 구조 설계