Почему безопасные вызовы GRPC не достигают входного шлюза? - PullRequest
0 голосов
/ 11 июля 2019

Я установил istio 1.22.2 внутри Kubernetes (1.12.x) с включенным sds.Я следил за этим , и я могу выполнить ssl-завершение на входном шлюзе для обычных служб (на HTTP / 1.1).И я мог видеть это в журналах доступа шлюза.

gateway

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: mygateway
spec:
  selector:
    istio: ingressgateway # use istio default ingress gateway
  servers:
  - port:
      number: 31400
      name: tcp
      protocol: HTTPS
    tls:
      mode: SIMPLE
      credentialName: "review-this-co" # must be the same as secret
    hosts:
- "xyz.example.com"

Однако, когда GRPC используется по защищенному каналу, я не мог видеть журналы доступа.(Клиент Grpc не работает). Я ожидал аналогичного поведения и для grpc (т. Е. Завершение ssl на входном шлюзе).

ПРИМЕЧАНИЕ: работает тот же клиент grpc (вызов достигает входного шлюза, видимого нажурналы доступа) с открытым текстом, если шлюз настроен следующим образом

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: mygateway
spec:
  selector:
    istio: ingressgateway # use istio default ingress gateway
  servers:
  - port:
      number: 31400
      name: tcp
      protocol: GRPC
    hosts:
    - "xyz.example.com"

Использовался сетевой балансировщик нагрузки (проход через)

1 Ответ

0 голосов
/ 23 июля 2019

Если я вас правильно понимаю, то вот что:

  • GRPC в настоящее время работает на транспорте типа HTTP2

  • Текущий вход не способен HTTP2

Так вы уверены, что ваш клиент использует HTTP1? Потому что иначе это может не сработать.

Пожалуйста, дайте мне знать, если это помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...