title: Redis 6 TLS Support and Redis Sentinel
body: <p>I would like to set up a basic 3-node Redis Sentinel setup using the new TLS features of Redis 6. Unfortunately, it doesn't seem like Redis 6 Sentinel is smart enough to speak TLS to clients.</p>
  
  <p>Does anyone know of a way to do this, or if it's not possible, if there are any mentions online about adding support for this in the future? It seems a shame to have these nice TLS features and not be able to use them with Redis' own tools.<br>
  <strong>I am aware that in the past people have used Stunnel to do this. With TLS support added to Redis, I am only interested in doing this if it can be done without third party addtions.</strong></p>
  
  <p><strong>My setup:</strong><br>
  3 Redis servers (6.0-rc, last pulled last week), running TLS with the test certs <a href="https://redis.io/topics/encryption" rel="nofollow noreferrer">as specified in the Redis docs</a> - one master and 2 replicas<br>
  3 Sentinels (6.0-rc, also last pulled last week), not running TLS on their ports (I would like to, but that's a secondary problem)  </p>
  
  <p><strong>What I've Tried:</strong>  </p>
  
  <ol>
  <li><p>Pointing Sentinel to the Redis TLS port - this results in lots of TLS errors in Redis' logs about incorrect TLS version received, as Sentinel is not speaking TLS to Redis. Since it fails, Sentinel thinks the master is down.</p></li>
  <li><p>Adding "https://" in the Sentinel config in front of the master IP - this results in Sentinel refusing to run, saying it can't find the master hostname.</p></li>
  <li><p>Adding TLS options to Sentinel - this results in Sentinel trying to talk TLS on its ports, but not to clients, which doesn't help. I couldn't find any options specifically about making Sentinel speak TLS to clients.</p></li>
  <li><p>Pointing Sentinel to the Redis not-TLS port (not ideal, I would rather only have the TLS port open) - this results in Sentinel reporting the wrong (not-TLS) port for the master to the simple Python client I'm testing with (it literally just tries to get master info from Sentinel) - I want the client to talk to Redis over TLS for obvious reasons</p></li>
  <li><p>Adding the "replica-announce-port" directive to Redis with Sentinel still pointed to the not-TLS port - this fails in 2 ways: the master port is still reported incorrectly as the not-TLS port (seems to be because the master is not a replica and so the directive does not apply), and Sentinel now thinks the replicas are both down (because the TLS port is reported, replicas are auto discovered, and it can't speak to the replicas on the TLS port).</p></li>
  </ol>
  
  <p>I am aware of <a href="https://stackoverflow.com/questions/48813721/redis-sentinels-with-tls">this StackOverflow question (Redis Sentinel and TLS)</a> - it is old and asks about Redis 4, so it's not the same.</p>