Rematch
엄밀히 말해 실제 프록시 프로토콜이 아니라 특수한 아웃바운드입니다: 여기에 매칭되면 실제로 연결을 시작하지 않고, 트래픽에 태그를 붙인 후 규칙 매칭을 다시 수행합니다(또는 특정 서브 규칙으로 이동).
설정 예시
config.yaml YAML
proxies: - name: "rematch" type: rematch target-rematch-name: "rematch1" target-sub-rule: "sub-rule1"
필드 설명
target-rematch-name선택트래픽 메타데이터의 rematch-name 태그를 덮어씁니다. 이후 REMATCH-NAME 규칙으로 이 태그를 매칭할 수 있습니다.
target-sub-rule선택입력하면 지정한 서브 규칙으로 바로 이동해 계속 매칭합니다. 이름이 존재하지 않거나 비워두면 메인 rules로 돌아갑니다.
사용 예시
태그를 지정한 후 메인 규칙 계속 매칭
YAML rematch-name
proxies: - name: "mark-streaming" type: rematch target-rematch-name: "streaming" rules: - REMATCH-NAME,streaming,Streaming - DOMAIN-SUFFIX,netflix.com,mark-streaming - MATCH,DIRECT
요청이 처음 DOMAIN-SUFFIX,netflix.com,mark-streaming에 매칭되면 트래픽에 rematch-name: streaming이 기록되고 규칙 매칭이 다시 시작됩니다. 이번에는 앞쪽의 REMATCH-NAME,streaming,Streaming이 우선 매칭됩니다.
REMATCH-NAME 규칙은 rematch를 발생시키는 규칙보다 앞에 작성해야 합니다. 그렇지 않으면 재매칭 시 같은 rematch 아웃바운드에 다시 매칭되어 무한 루프가 발생할 수 있습니다.
서브 규칙으로 이동
YAML sub-rule
proxies: - name: "use-ai-rules" type: rematch target-sub-rule: "ai-rules" rules: - DOMAIN-SUFFIX,openai.com,use-ai-rules - MATCH,DIRECT sub-rules: ai-rules: - DOMAIN-SUFFIX,openai.com,AI - MATCH,DIRECT
use-ai-rules에 매칭되면 바로 ai-rules 서브 규칙으로 이동해 계속 매칭합니다. 서브 규칙에는 어떤 규칙에도 매칭되지 않는 상황을 방지하기 위해 MATCH를 하나 추가하는 것을 권장합니다.