I have a redis (single server), single pod runnning on a kubernetes cluster. I have setup TLS using openssl certificates and here is my
Redis.conf
<code> cluster-enabled no
protected-mode no
dir /data
port 6
requirepass "SOMEPASSWORD"
tls-port 6379
tls-cert-file /tls/redis.crt
tls-key-file /tls/redis.key
tls-ca-cert-file /tls/ca.crt
tls-auth-clients no
</code>
<code> cluster-enabled no
protected-mode no
dir /data
port 6
requirepass "SOMEPASSWORD"
tls-port 6379
tls-cert-file /tls/redis.crt
tls-key-file /tls/redis.key
tls-ca-cert-file /tls/ca.crt
tls-auth-clients no
</code>
cluster-enabled no
protected-mode no
dir /data
port 6
requirepass "SOMEPASSWORD"
tls-port 6379
tls-cert-file /tls/redis.crt
tls-key-file /tls/redis.key
tls-ca-cert-file /tls/ca.crt
tls-auth-clients no
I am running a nodejs server and connecting using the redis package like this
<code>const { Emitter } = require("@socket.io/redis-emitter");
const redis = require('redis');
const fs = require('fs');
const path = require('path');
const pubClient = redis.createClient({
host: process.env.redisHost,
port: process.env.redisPort,
password: process.env.redisPassword,
connectTimeout: 60 * 60 * 1000,
tls: {
servername: process.env.redisHost,
rejectUnauthorized: false,
ca: [fs.readFileSync(path.resolve(__dirname,'./conf-redis/ca.crt'))]
}
});
pubClient.on("connect", function (val) {
console.error("ws | redis connected ",val);
});
pubClient.on("error", function (err) {
console.error("ws | redis error--", err);
});
const ioemitter = new Emitter(pubClient);
</code>
<code>const { Emitter } = require("@socket.io/redis-emitter");
const redis = require('redis');
const fs = require('fs');
const path = require('path');
const pubClient = redis.createClient({
host: process.env.redisHost,
port: process.env.redisPort,
password: process.env.redisPassword,
connectTimeout: 60 * 60 * 1000,
tls: {
servername: process.env.redisHost,
rejectUnauthorized: false,
ca: [fs.readFileSync(path.resolve(__dirname,'./conf-redis/ca.crt'))]
}
});
pubClient.on("connect", function (val) {
console.error("ws | redis connected ",val);
});
pubClient.on("error", function (err) {
console.error("ws | redis error--", err);
});
const ioemitter = new Emitter(pubClient);
</code>
const { Emitter } = require("@socket.io/redis-emitter");
const redis = require('redis');
const fs = require('fs');
const path = require('path');
const pubClient = redis.createClient({
host: process.env.redisHost,
port: process.env.redisPort,
password: process.env.redisPassword,
connectTimeout: 60 * 60 * 1000,
tls: {
servername: process.env.redisHost,
rejectUnauthorized: false,
ca: [fs.readFileSync(path.resolve(__dirname,'./conf-redis/ca.crt'))]
}
});
pubClient.on("connect", function (val) {
console.error("ws | redis connected ",val);
});
pubClient.on("error", function (err) {
console.error("ws | redis error--", err);
});
const ioemitter = new Emitter(pubClient);
ISSUE–
I keep getting the “ws | redis error–” logs randomly, no apparent pattern. But it reconnects immediately after.
Here is these error logs i keep seeing in the redis pod logs.
<code>1:M 27 Jul 2024 03:49:46.318 # Error accepting a client connection: error:0A000126:SSL routines::unexpected eof while reading (conn: fd=18)
1:M 27 Jul 2024 03:49:52.631 # Error accepting a client connection: error:0A00010B:SSL routines::wrong version number
1:M 27 Jul 2024 03:49:58.096 # Error accepting a client connection: error:0A000126:SSL routines::unexpected eof while reading
1:M 27 Jul 2024 03:49:58.319 # Error accepting a client connection: error:0A00009C:SSL routines::http request (conn: fd=18)
1:M 27 Jul 2024 03:49:58.780 # Error accepting a client connection: error:0A00010B:SSL routines::wrong version number (conn: fd=18)
1:M 27 Jul 2024 03:50:01.575 # Error accepting a client connection: error:0A00018C:SSL routines::version too low (conn: fd=18)
</code>
<code>1:M 27 Jul 2024 03:49:46.318 # Error accepting a client connection: error:0A000126:SSL routines::unexpected eof while reading (conn: fd=18)
1:M 27 Jul 2024 03:49:52.631 # Error accepting a client connection: error:0A00010B:SSL routines::wrong version number
1:M 27 Jul 2024 03:49:58.096 # Error accepting a client connection: error:0A000126:SSL routines::unexpected eof while reading
1:M 27 Jul 2024 03:49:58.319 # Error accepting a client connection: error:0A00009C:SSL routines::http request (conn: fd=18)
1:M 27 Jul 2024 03:49:58.780 # Error accepting a client connection: error:0A00010B:SSL routines::wrong version number (conn: fd=18)
1:M 27 Jul 2024 03:50:01.575 # Error accepting a client connection: error:0A00018C:SSL routines::version too low (conn: fd=18)
</code>
1:M 27 Jul 2024 03:49:46.318 # Error accepting a client connection: error:0A000126:SSL routines::unexpected eof while reading (conn: fd=18)
1:M 27 Jul 2024 03:49:52.631 # Error accepting a client connection: error:0A00010B:SSL routines::wrong version number
1:M 27 Jul 2024 03:49:58.096 # Error accepting a client connection: error:0A000126:SSL routines::unexpected eof while reading
1:M 27 Jul 2024 03:49:58.319 # Error accepting a client connection: error:0A00009C:SSL routines::http request (conn: fd=18)
1:M 27 Jul 2024 03:49:58.780 # Error accepting a client connection: error:0A00010B:SSL routines::wrong version number (conn: fd=18)
1:M 27 Jul 2024 03:50:01.575 # Error accepting a client connection: error:0A00018C:SSL routines::version too low (conn: fd=18)
Could you please help me understand the problem or if something is wrongly configured, Thanks.