Фильтр envoy ext_authz не вызывает службу http удаленной авторизации - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь использовать фильтр 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просто не срабатывает?

...