Как успешно направить посланника ко второму сервису? - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь развернуть 2 службы, используя конфигурацию переднего прокси-сервера envoy со страницы envoy github

Мой первый сервис - это основной сайт, который должен работать в «/», а второй -служба администрирования бэк-офиса, которая должна работать в «/ admin».Проблема начинается, когда я объявляю префикс моего первого сервиса как «/».После этого посланник вообще не перенаправляет трафик на мой админ сервис.

Мой фронт-посланник.yaml:

static_resources:
 listeners:
 - address:
     socket_address:
       address: 0.0.0.0
       port_value: 80
   filter_chains:
   - filters:
     - name: envoy.http_connection_manager
       config:
         codec_type: auto
         stat_prefix: ingress_http
         route_config:
           name: local_route
           virtual_hosts:
           - name: backend
             domains:
             - “*”
             routes:
             - match:
                 prefix: “/”
               route:
                 cluster: service1
             - match:
                 prefix: “/admin”
               route:
                 cluster: service2
         http_filters:
         - name: envoy.router
           config: {}
 clusters:
 - name: service1
   connect_timeout: 0.25s
   type: strict_dns
   lb_policy: round_robin
   http2_protocol_options: {}
   hosts:
   - socket_address:
       address: service1
       port_value: 80
 - name: service2
   connect_timeout: 0.25s
   type: strict_dns
   lb_policy: round_robin
   http2_protocol_options: {}
   hosts:
   - socket_address:
       address: service2
       port_value: 80
admin:
 access_log_path: “/dev/null”
 address:
   socket_address:
     address: 0.0.0.0
     port_value: 8001

Пожалуйста, совет.

1 Ответ

0 голосов
/ 08 марта 2019

Проблема в том, что у вас есть "/" в качестве первого префикса matcher, "/" в качестве префикса будет соответствовать всем запросам, он будет соответствовать запросам "/", а также "/ admin" Запросы.Измените порядок совпадений, указав сначала «/ admin», а затем «/».Должно работать нормально.

...