Puncte:0

Apelul GRPC returnează „PROTOCOL_ERROR (0X1)” pentru o aplicație .NET pe EKS

drapel cn

Aplicația mea .NET este implementată într-un cluster EKS, care are o intrare definită cu următoarele adnotări relevante

kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/ssl-policy: ELBSecurityPolicy-TLS-1-2-2017-01
alb.ingress.kubernetes.io/listen-ports: „[{"HTTP":80}, {"HTTPS":443}]"
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": " HTTP_301"}}'
alb.ingress.kubernetes.io/healthcheck-path: „/swagger/v1/swagger.json”
alb.ingress.kubernetes.io/backend-protocol-version: HTTP2

Aplicația mea se desfășoară bine pe cluster cu toate controalele de sănătate trecând și podurile în stare de funcționare. Cu toate acestea, când interog punctul final de intrare cu o solicitare GRPC, primesc o eroare așa cum se arată mai jos pe scurt

Excepție netratată: System.Reflection.TargetInvocationException: Excepția a fost lansată de ținta unei invocări.
 ---> Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="Eroare la pornirea apelului gRPC. HttpRequestException: A apărut o eroare la trimiterea cererii. IOException: Solicitarea a fost anulată. Http2ConnectionException: Serverul HTTP/2 a trimis date nevalide la conexiune. Cod de eroare HTTP/2 „PROTOCOL_ERROR” (0x1).”, DebugException="System.Net.Http.HttpRequestException: A apărut o eroare la trimiterea solicitării.

Sunt sigur că nu există nicio problemă cu cererea în cauză, deoarece atunci când fac un port-forward pe unul dintre porturi și lovesc punctul final localhost:5000, obțin rezultatul dorit.
Am verificat echilibrul de încărcare și grupurile țintă în consola AWS și sunt în stare sănătoasă. Cu toate acestea, afișarea tabloului de bord de monitorizare se adaugă la numărul ELB 4xx de fiecare dată când accesez punctul final. Sunt sigur că există o problemă la nivelul de intrare, dar nu pot să-mi dau seama ce anume.
Nu sunt sigur ce îmi lipsește aici sau dacă este ceva în neregulă cu configurarea mea. Dar, deoarece port-forward funcționează conform așteptărilor, aceasta trebuie să fie o problemă cu LoadBalancer.
Pentru referință, am încercat să schimb versiunea-protocol-backend la GRPC, ceea ce nu ajută

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.