title: Kubernetes grpc http 2error
body: <p>I deployed a grpc service on eks and expose the service using ingress. I deployed an demo https app, it worked. However, I have a problem with the grpc app. The service is running but when I log the service I get an error.<br/> The grpc request does not even go to the server. The log is as following</p>
  
  <blockquote>
    <p>level=info msg="grpc: Server.Serve failed to create ServerTransport: 
    connection error: desc = \"transport: http2Server.HandleStreams
    received bogus greeting from client: \\"GET / HTTP/1.1\\r\\nHost:
    19\\"\"" system=system</p>
  </blockquote>
  
  <p>It seems it should receive http2 but it just has <code>HTTP/1.1</code>??</p>
  
  <p>For ingress I tried </p>
  
  <pre><code>    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
      alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
      alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:xxxx
      alb.ingress.kubernetes.io/load-balancer-attributes: 'routing.http2.enabled=true'
  </code></pre>
  
  <p>for service.yml</p>
  
  <pre><code>  annotations:
      service.alpha.kubernetes.io/app-protocols: '{"grpc":"HTTP2", "http": "HTTP2"}'
  </code></pre>
  
  <p>For the service deployed it seems fine. Once I have ingress deployed it keeps have the error above.</p>