ssl - Celery/Redis 配置中的 SSL 认证 - keyfile、certfile 和 ca_certs
问题描述
我的 celery.py 目前设置如下 -
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')
app = Celery('project')
app.conf.timezone = 'Europe/London'
app.config_from_object('django.conf:settings')
app.conf.update(BROKER_URL=str(os.getenv('REDIS_URL')),
CELERY_RESULT_BACKEND=str(os.getenv('REDIS_URL')),
broker_use_ssl = {
'ssl_cert_reqs': ssl.CERT_NONE
},
redis_backend_use_ssl = {
'ssl_cert_reqs': ssl.CERT_NONE
})
app.autodiscover_tasks()
但是,当启动 celery 时,我收到此警告消息“连接到 redis 时设置 ssl_cert_reqs=CERT_NONE 意味着 celery 在连接时不会验证 redis 代理的身份。这使您容易受到中间人的攻击。”
我想添加我的 SSL 证书,但不完全确定如何添加或从何处获取信息。我知道 celery 配置的设置应该是这样的 -
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')
app = Celery('project')
app.conf.timezone = 'Europe/London'
app.config_from_object('django.conf:settings')
app.conf.update(BROKER_URL=str(os.getenv('REDIS_URL')),
CELERY_RESULT_BACKEND=str(os.getenv('REDIS_URL')),
broker_use_ssl = {
'keyfile': ????,
'certfile': ????,
'ca_certs': ????,
'ssl_cert_reqs': ssl.CERT_REQUIRED
},
redis_backend_use_ssl = {
'keyfile': ????,
'certfile': ????,
'ca_certs': ????,
'ssl_cert_reqs': ssl.CERT_REQUIRED
})
app.autodiscover_tasks()
但我不确定从哪里获取密钥文件、证书文件和 ca_certs 的凭据。我正在使用 Heorku 来托管我的 SSL 证书的创建位置。
解决方案
推荐阅读
- react-native - 在 React Native 中设置图像样式
- arrays - C语言中的扫雷算法
- node.js - 为什么我的 nunjucks 页面没有被正确解释?
- python - 比较字符串,如果数据帧记录匹配一次,则继续到下一行
- python - 如何从 WSL Ubuntu 启动 Windows Anaconda python?
- postman - 邮递员保存和锁定(防止编辑)请求/收藏
- stata - 将所有 .dta 文件合并到一个文件夹中?
- python - 在保持内联标签完整的同时按字符分隔 python 字符串
- python - 安装 tabula-py
- java - 问题:按字母顺序删除字符串数组列表中的重复项