proxy: stream terminated by RST_STREAM
See original GitHub issueI’m trying to get a basic example of grpc-web working in my application. Using the HelloWorld service example from the grpc-node library, and the example code from grpc-web/example, I’ve put together what I think should work. The proxy connects to my server…
time="2018-02-27T18:22:42Z" level=info msg="dialing to target with scheme: \"\"" system=system
time="2018-02-27T18:22:42Z" level=info msg="listening for http_tls on: [::]:8443"
time="2018-02-27T18:22:42Z" level=info msg="ccResolverWrapper: sending new addresses to cc: [{stern-server:9000 0 <nil>}]" system=system
time="2018-02-27T18:22:42Z" level=info msg="ClientConn switching balancer to \"pick_first\"" system=system
time="2018-02-27T18:22:42Z" level=info msg="listening for http on: [::]:8080"
time="2018-02-27T18:22:42Z" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc42016e370, CONNECTING" system=system
time="2018-02-27T18:22:42Z" level=info msg="pickfirstBalancer: HandleSubConnStateChange: 0xc42016e370, READY" system=system
When I use the client to make the call, it creates a request like this (copied as cURL from Chrome network log):
curl 'https://localhost:8443/helloworld.Greeter/SayHello' -H 'origin: https://localhost:4200' -H 'accept-encoding: gzip, deflate, br' -H 'accept-language: en-US,en;q=0.9' -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36' -H 'content-type: application/grpc-web+proto' -H 'accept: */*' -H 'x-grpc-web: 1' -H 'referer: https://localhost:4200/operations' -H 'authority: localhost:8443' --data-binary $'\x00\x00\x00\x00\x04\n\x02yo' --compressed --insecure
But this is the error message it gives back:
stream terminated by RST_STREAM with error code: INTERNAL_ERROR
That same error shows up in the log output from the proxy itself.
I know my server should work because I created a grpc-node client and it was able to connect just fine.
What could this error indicate? Where should I start looking? I’ve run out of ideas at this point.
Issue Analytics
- State:
- Created 6 years ago
- Reactions:1
- Comments:28 (12 by maintainers)
Top Results From Across the Web
proxy returns `stream terminated by RST_STREAM with error ...
It feels to me this is an issue with pomerium proxy-authorize connection using the wrong protocol, I haven't had a chance to look...
Read more >.net - Tendermint, GRPC and C# - Stream terminated by ...
Tendermint, GRPC and C# - Stream terminated by RST_STREAM with error code: PROTOCOL_ERROR ; $"Begin Block Status: {(beginBlock != null ; $" ...
Read more >1510 (gRPC stream RST_STREAM PROTOCOL_ERROR)
stream terminated by RST_STREAM with error code: PROTOCOL_ERROR. sometimes the code may: INTERNAL_ERROR. The server and the client works without nginx.
Read more >grpc/grpc - Gitter
I got an issue: (code = Internal desc = stream terminated by RST_STREAM with error code: PROTOCOL_ERROR). I am not able to call...
Read more >RST_STREAM errors with gRPC - Kubernetes - Linkerd
I get service-to-service communication just fine until I restart one of my pods, at which point I begin to get “stream terminated by...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Gentlemen, I’ve applied the patch suggested by @hpidcock and things are functional again. See PR 148.
The project is still alive, and FYI the official gRPC team has been working on gRPC-Web for 2 years now without putting out anything, so I wouldn’t hold my breath for that. They’re moving at a glacial pace as far as I can tell, perhaps dragging their feet and waiting for the Streams API to land in browsers.