본문 바로가기

nginx 1.31.5 공개 - 제어 API와 프레디킷 로케이션, 내장 JSON 파서 추가

조회 1 · 댓글 0
OOOooOOoo작성자2026년 9월 3일

nginx가 2026년 9월 2일 메인라인 버전 1.31.5를 공개했습니다. 이번 릴리스의 핵심은 라우팅 관련 기능 네 가지입니다. 요약하면 다음과 같습니다.

  • 프레디킷 로케이션(predicate locations): URI 경로만이 아니라 런타임에 평가한 변수를 location 지시자에서 바로 조건으로 씁니다. 서브넷, 인증서, 헤더, 추출한 페이로드 값 등으로 분기할 수 있습니다.
  • client_body_early_read: location 매칭 전에 요청 본문을 미리 버퍼링해서 읽습니다. 특정 JSON 필드 값으로 마이크로서비스에 바로 라우팅하는 용도입니다.
  • ngx_http_json_module: 버퍼링된 JSON 페이로드를 파싱해 필드 값을 nginx 변수에 그대로 담는 내장 파서입니다. 별도 스크립트 없이 변수로 뽑아 map이나 location 조건으로 넘길 수 있습니다.
  • 제어 API(Control API): nginx Plus에 있던 기능을 오픈소스 코어로 옮겨온 것으로, HTTP 엔드포인트로 프로세스 조회와 설정 리로드를 하고 JSON으로 결과를 받습니다. 보안상 유닉스 도메인 소켓 사용을 권장합니다.

같은 날 자바스크립트 엔진 njs도 1.0.1이 나왔습니다. 보안 수정 3건이 포함됐습니다. js_access의 접근 제어 우회, ngx.fetch() 사용 시 워커 프로세스 크래시, xml.exclusiveC14n()의 힙 버퍼 오버플로입니다. njs를 쓰고 있다면 함께 올리면 됩니다.

정리하면 이번 릴리스는 nginx를 URI 기반 프록시에서 페이로드를 직접 들여다보고 분기하는 프로그래머블 엣지로 옮기려는 시도로 보입니다. 공식 블로그는 /api/v1이나 /graphql처럼 하나의 경로로 다양한 요청이 들어오는 AI, API 트래픽을 예로 들며, 이제 본문의 JSON 필드를 기준으로 라우팅할 수 있다는 점을 강조합니다.

메인라인 릴리스이므로 운영에 바로 넣기보다 검토 대상으로 보는 편이 맞습니다. 네 기능 모두 오픈소스 코어에 들어갔다는 점만으로도 확인해 둘 가치가 있습니다.

🔗 https://blog.nginx.org/blog/nginx-1-31-5-control-api-predicate-locations-early-body-inspection-and-more

🔗 https://nginx.org/2026.html

로그인 후 답글을 남길 수 있습니다.