Я пытаюсь использовать фильтр envoy ext_authz для дополнительных вызовов определенного удаленного сервиса в целях авторизации и дополнительной работы с токеном jwt, которая не может быть обработана фильтром enwoy jwt по умолчанию.К сожалению, по какой-то причине это не работает - запрос перенаправляется просто отлично, но я не вижу вызовов в службу удаленной аутентификации в журналах или wireshark.
Вот мой envoy.yaml
admin:
access_log_path: /tmp/admin_access.log
address:
socket_address:
protocol: TCP
address: 0.0.0.0
port_value: 9901
static_resources:
listeners:
- name: listener_0
address:
socket_address:
protocol: TCP
address: 0.0.0.0
port_value: 10000
filter_chains:
- filters:
- name: envoy.http_connection_manager
config:
stat_prefix: ingress_http
route_config:
name: local_route
virtual_hosts:
- name: local_service
domains: ["*"]
routes:
- match:
prefix: "/"
route:
host_rewrite: 10.0.2.2
cluster: cluster1
http_filters:
- name: envoy.ext_authz
config:
http_service:
server_uri:
uri: 10.0.2.2:1188/auth
cluster: cluster1
timeout: 0.25s
failure_mode_allow: true
- name: envoy.router
clusters:
- name: cluster1
connect_timeout: 0.25s
hosts:
- socket_address:
address: 10.0.2.2
port_value: 1188
Это просто простая маршрутизация к локальному приложению Springboot из виртуальной коробки Ubuntu, то есть 10.0.2.2, с портом 1188.И конечная точка, которую я вызываю, и авторизация /auth
выполняются с одного контроллера пружины, так что эта часть определенно работает.
Я что-то упускаю в конфигурации в запросе, который я отправляю, поэтому фильтр authzпросто не срабатывает?