diff --git a/app/models/global_setting.rb b/app/models/global_setting.rb
index eb3592d1e4d..57d22d6618c 100644
--- a/app/models/global_setting.rb
+++ b/app/models/global_setting.rb
@@ -172,6 +172,7 @@ class GlobalSetting
         c[:db] = redis_db if redis_db != 0
         c[:db] = 1 if Rails.env == "test"
         c[:id] = nil if redis_skip_client_commands
+        c[:ssl] = true if redis_use_ssl
 
         c.freeze
       end
@@ -195,6 +196,7 @@ class GlobalSetting
         c[:db] = message_bus_redis_db if message_bus_redis_db != 0
         c[:db] = 1 if Rails.env == "test"
         c[:id] = nil if message_bus_redis_skip_client_commands
+        c[:ssl] = true if redis_use_ssl
 
         c.freeze
       end
diff --git a/config/discourse_defaults.conf b/config/discourse_defaults.conf
index aee0f88ab29..0a4eb66dd70 100644
--- a/config/discourse_defaults.conf
+++ b/config/discourse_defaults.conf
@@ -120,6 +120,9 @@ redis_password =
 # skip configuring client id for cloud providers who support no client commands
 redis_skip_client_commands = false
 
+# uses SSL for all Redis connections if true
+redis_use_ssl = false
+
 # message bus redis server switch
 message_bus_redis_enabled = false