gRPC Error: 14 UNAVAILABLE: No connection established / failed to connect to all addresses
The gRPC client couldn’t reach the server — wrong address/port, TLS vs plaintext mismatch, server down, or a proxy that doesn’t support HTTP/2.
Seen on:
REST API
Meaning
gRPC needs end-to-end HTTP/2. Using TLS credentials against a plaintext server (or vice versa), load balancers without HTTP/2 to the backend, or DNS issues lead to UNAVAILABLE.
Common causes
- Server not running or wrong host:port
- TLS/plaintext mismatch (credentials vs insecure)
- Proxy/load balancer not passing HTTP/2 (gRPC)
- DNS resolution issues in containers
⚡ Quick fix
- Verify the server with grpcurl
- Match credentials (createInsecure vs createSsl) to the server
- Enable HTTP/2/gRPC on the proxy (Nginx grpc_pass, ALB gRPC target)
Detailed fix by platform
Shell
- bash
grpcurl -plaintext localhost:50051 list grpcurl api.example.com:443 list
Nginx
location / { grpc_pass grpc://backend:50051; }
How to diagnose
- Reach — grpcurl works?
- TLS — Server expects TLS?
- Proxy — HTTP/2 end to end?
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
Most viewed in API
Other ways to find it
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 7 Oct 2026