Redis: Error: write EPROTO ... SSL routines:ssl3_get_record:wrong version number / Connection reset by peer (TLS vs plaintext)
The client and server disagree about TLS — plaintext client to a TLS port, or TLS client to a plaintext port.
Error: write EPROTO error:0A00010B:SSL routines::wrong version number redisConnection reset by peer redis TLSError: read ECONNRESET redis ElastiCache in-transit encryptionredis.exceptions.ConnectionError: Error while reading from socket: (104, 'Connection reset by peer')SSL: WRONG_VERSION_NUMBER redis Meaning
Managed Redis (ElastiCache in-transit encryption, Azure Cache 6380, Upstash, Redis Cloud) requires TLS: use rediss:// and the right port, or tls: {} option. Self-hosted TLS needs tls-port, certificates, and the CA on the client. Plain clients to a TLS port get "connection reset"/EPROTO.
Common causes
redis://used against a TLS endpoint (needsrediss://)- TLS enabled client against plaintext server
- CA cert not trusted / hostname mismatch
- Wrong port (6379 vs 6380)
- Missing
tls-auth-clientscert for mTLS
⚡ Quick fix
- Use
rediss://and the TLS port - Provide
tls: { ca, servername }if using a private CA - Match client and server TLS settings
Detailed fix by platform
Linux
redis-cli --tls -h HOST -p 6380 --cacert ca.crt ping
How to diagnose
- Scheme — rediss?
- Port — TLS port?
- CA — Trusted?
🔧 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
- ActiveRecord::ConnectionNotEstablished Rails: ActiveRecord::ConnectionNotEstablished: No connection pool for 'ActiveRecord::Base' found
- BullMQ: Missing lock for job / job stalled more than allowable limit BullMQ: Error: Missing lock for job 42. moveToFinished / job stalled more than allowable limit
- BUSY Redis is busy running a script Redis: (error) BUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE
Most viewed in Redis
- READONLY You can't write against a read only replica Redis: READONLY You can't write against a read only replica
- MISCONF Redis: MISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist to disk
- OOM command not allowed Redis: OOM command not allowed when used memory > 'maxmemory'
Other ways to find it
Where this error sits
Origin: Data. Errors that are often confused with or caused by this one (click to open):
🧠 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.
💬 What worked for others
No tips yet — did something else fix this for you?
Share what worked for you
Tips are checked by an editor before they appear. Links are removed.
Report a correction or suggest an improvement
Last updated 5 Nov 2026