diff --git a/server/odcs/server/celery_tasks.py b/server/odcs/server/celery_tasks.py
index cb0926c..7a94077 100644
--- a/server/odcs/server/celery_tasks.py
+++ b/server/odcs/server/celery_tasks.py
@@ -73,10 +73,21 @@ if broker_url.startswith("amqps://"):
ssl_ctx = {}
- broker_use_ssl = {
- "server_hostname": host,
- "context": {"purpose": ssl.Purpose.SERVER_AUTH},
- }
+ # Set the server_hostname only if it's configured in the CELERY_CONFIG,
+ # otherwise Celery uses SNI everytime even if we don't need it.
+ if "server_hostname" in conf.celery_config:
+ broker_use_ssl = {
+ "server_hostname": host,
+ "context": {"purpose": ssl.Purpose.SERVER_AUTH},
+ }
+ else:
+ broker_use_ssl = {}
+
+ # Allow setting certificates using the CELERY_CONFIG.
+ for key in ["ca_certs", "keyfile", "certfile"]:
+ if key in conf.celery_config:
+ broker_use_ssl[key] = conf.celery_config[key]
+
conf.celery_config.update({"broker_use_ssl": broker_use_ssl})
broker_url = broker_url.replace("amqps://", "amqp://")