django cacheops与aws redis加密

ecbunoof  于 2021-06-09  发布在  Redis
关注(0)|答案(1)|浏览(469)

我已经建立了redis,并在运输和休息中使用encyption。我遇到过https://dev.to/yuki0417/easy-way-to-connect-to-amazon-elasticache-redis-with-password-from-django-app-40il 并通过传输加密连接到aws elasticache。就像我用的https://github.com/suor/django-cacheops 没有显示任何关于ssl的内容如何实现ssl以使用带加密的aws redis?
我试过了

CACHEOPS_REDIS = {
        'host': "redis://{}".format(os.environ.get("REDIS_LOCATION")),
        'socket_timeout': 3,
        'ssl': True,
    }

阅读以下内容后https://github.com/jazzband/django-redis/issues/353 我试过了,但还是不行

CACHEOPS_REDIS = {
        'host': "rediss://{}/0".format(os.environ.get("REDIS_LOCATION")),
        'socket_timeout': 3,
    }

CACHES = {
        "default": {
            "BACKEND": "django_redis.cache.RedisCache",
            "LOCATION": CACHEOPS_REDIS,
            "OPTIONS": {
                "CLIENT_CLASS": "django_redis.client.DefaultClient",
                "IGNORE_EXCEPTIONS": True,
                'CONNECTION_POOL_KWARGS': {
                    'skip_full_coverage_check': True,
                    "ssl_cert_reqs": None,
                    "ssl": True
                }
            },
            "KEY_PREFIX": ENVIRONMENT
        }
    }

中的证书
我有以下几点

$ ll /etc/ssl/certs/
total 12
lrwxrwxrwx 1 root root   49 Sep 22 17:47 ca-bundle.crt -> /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem
lrwxrwxrwx 1 root root   55 Sep 22 17:47 ca-bundle.trust.crt -> /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt
t9aqgxwy

t9aqgxwy1#

您需要定义ssl证书的路径

CACHES = {
    "default": {
        # …
        "OPTIONS": {
            "CONNECTION_POOL_KWARGS": {
                "ssl_ca_certs": "/etc/ssl/certs/ca-certificates.crt",
            },
        },
    },
}

您可以通过以下代码定义在目标os上的何处查找证书(macos示例响应)

import certifi
certifi.where()

对我来说,我没有使用云redis——等待请求-响应周期的时间太多了。如果这是一个缓存-找到一种方法来使用本地安装的缓存或在安全组中共享它。只有少数类型的项目真正需要基于ssl或云redis的redis。

相关问题