4.5. 정책에서 변수 및 필터 사용


일부 표준 정책 은 일반 문자열 값뿐만 아니라 요청 컨텍스트에 있는 변수도 사용할 수 있는 Liquid templating을 지원합니다.

컨텍스트 변수를 사용하려면 {{}} 에 이름을 래핑합니다(예: {{ uri }} ). 변수가 개체인 경우 속성(예: {{ somevar.attr }} )에 액세스할 수도 있습니다.

다음은 모든 정책에서 사용할 수 있는 표준 변수입니다.

  • uri: 쿼리 매개 변수가 이 경로에서 제외된 요청의 경로입니다. 포함된 NGINX 변수 $uri 의 값.
  • host: 포함된 NGINX 변수 $host 의 값인 요청 호스트입니다.
  • remote_addr: 포함된 NGINX 변수 $remote_addr 의 값인 클라이언트의 IP 주소입니다.
  • 헤더: 요청 헤더가 포함된 오브젝트입니다. {{headers['Some-Header']}} 를 사용하여 특정 헤더 값을 가져옵니다.
  • http_method: 요청 방법: GET, POST 등.

이러한 표준 변수는 요청 컨텍스트에서 사용되지만 정책은 컨텍스트에 변수를 추가할 수 있습니다. 단계는 APIcast에 있는 모든 실행 단계를 나타냅니다. 이러한 경우 정책 체인의 모든 정책에서 변수를 사용할 수 있습니다.

  • 동일한 단계 내에서 변수가 정책에 추가되고 추가 후 다음 정책에서 사용되는 경우.
  • 변수가 단계에서 추가되면 다음 단계에서 이 변수를 사용할 수 있습니다.

다음은 표준 3scale APIcast 정책에서 컨텍스트에 추가하는 몇 가지 변수의 예입니다.

  • jwt: OpenID Connect 인증에 대한 JWT 토큰의 구문 분석 JSON 페이로드입니다.
  • 인증 정보 : 애플리케이션 자격 증명을 보유한 오브젝트입니다. 예: "app_id": "972f7b4f", "user_key": "13b668c4d1e10eaebaa5144b4749713f".
  • service: 현재 요청이 처리되는 서비스의 구성이 포함된 오브젝트입니다. 예: 서비스 ID는 {{ service.id }}로 사용할 수 있습니다.

컨텍스트에서 사용 가능한 오브젝트 및 값의 전체 목록은 Liquid context debug 를 참조하십시오.

변수는 템플릿의 도움말과 함께 사용됩니다. 예: {{ remote_addr }}, {{ headers['Some-Header'] }}, {{ jwt.aud }}. 값의 변수를 지원하는 정책에는 일반적으로 _type 접미사가 있습니다. 예를 들어 value_type,name_type. 즉 일반 텍스트의 "plain"과 Liquid"의 두 값을 허용합니다.

APIcast는 변수의 값에 적용할 수 있는 필터도 지원합니다. 필터는 NGINX 함수를 변수의 값에 적용합니다.

필터는 파이프 문자 | 및 필터 이름을 통해 변수의 이름 또는 리터럴 값 뒤에 변수 출력 태그 {{ }} 내에 배치됩니다. 예:

  • {{ 'username:password' | encode_base64 }}, 여기서 username:password 는 변수입니다.
  • {{ uri | escape_uri }}.

일부 필터에는 매개 변수가 필요하지 않으므로 변수 대신 빈 문자열을 사용할 수 있습니다. 예: {{ '' | utctime }} 은 UTC 시간대에서 현재 시간을 반환합니다.

필터를 다음과 같이 연결할 수 있습니다. {{ variable | function1 | function2 }}. 예: {{ '' | utctime | escape_uri }}.

다음은 사용 가능한 함수 목록입니다.

Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동