본문으로 건너뛰기

Ingress 라우팅

GenD는 단일 도메인 gend.genon.ai 에 path-prefix 라우팅을 적용해 다수의 백엔드 서비스를 한 ingress-nginx로 노출합니다. 인증 경계는 3가지 패턴으로 구분됩니다 — 직접 JWT 검증(API), oauth2-proxy ForwardAuth(BI/노트북 류), Native OIDC(Grafana/Weaviate).

라우팅 맵

인증 패턴 비교

패턴사용 서비스장점주의
직접 JWTgend-api가장 단순, JWKS 캐시audience 검증 필수
ForwardAuth (oauth2-proxy)Dagster, Trino UI, Jupyter, Superset, Code-server백엔드 코드 수정 불필요토큰 검증 hop 1회 추가
Native OIDCGrafana, Weaviate백엔드가 직접 검증, sub_path 자유서비스별 OIDC 클라이언트 필요

Ingress 분리 (gend-ingress vs gend-ingress-keycloak)

/auth/* 는 별도 Ingress로 분리되어 있습니다 — 이유는 ModSecurity OWASP CRS 규칙이 Keycloak 폼 제출(POST application/x-www-form-urlencoded) 을 위양성 차단하기 때문입니다.

IngresspathModSecurity
gend-ingress/api, /, /dagster, /grafana, …비활성 (PUT/DELETE JSON 차단 #608)
gend-ingress-keycloak/auth/*커스텀 룰 제거 (920350·942100·941100·932100 SecRuleRemoveById)

ModSecurity 비활성 사유

GenD API는 RESTful PUT/DELETE를 광범위하게 사용하지만 ModSecurity 기본 룰셋이 일부 JSON body 패턴을 SQLi/XSS로 오탐합니다. 운영에서 위양성을 잡는 비용보다 비활성이 합리적이라 판단했습니다 (#608).

관련 문서