当前位置: 首页 > 知识库问答 >
问题:

django cacheops和aws redis加密

杭令
2023-03-14

我已经在运输和Rest中使用EncOption设置了redis。我遇到过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

共有1个答案

柴琨
2023-03-14

您需要定义ssl证书的路径。此示例对Ubuntu有效

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。

 类似资料:
  • 加密是将信息转换为密码的技术过程,以使您发送、接收或存储的数据变得晦涩难懂。本质上,信息发送方先使用一种算法对数据进行加密,然后接收方使用解密密钥对数据进行解密。 包含在未加密文件中的未加密消息称为明文,而加密消息称为密文。

  • 问题内容: 我迅速编写了一个应用程序,我需要AES加密和解密功能,我从另一个.Net解决方案中接收了加密数据,但是我找不到解决办法。 这是我的.net加密: 我需要迅速解密功能。 问题答案: 我找到了解决方案,它是一个很好的库。 跨平台256位AES加密/解密。 此项目包含在所有平台(C#,iOS,Android)上均可使用的256位AES加密的实现。关键目标之一是通过简单的实现使AES在所有平台

  • 前言 加密解密技术在加密货币开发中的作用不言而喻。但技术本身并不是什么新鲜事,重要的是如果没有前面的P2P网络,和后面要介绍的区块链,单独的加解密显然没有那么神奇,加密货币也不会成为无需验证、高度可信的强大网络。 但是,提到加解密技术,业界的通则是,使用现成的组件,严格按照文档去做,别自作聪明,这也是使用加密解密技术的最安全方式。这篇就来研究亿书是如何使用加解密技术的。 源码 Ebookcoin没

  • 问题内容: 我想使用128位AES加密和16字节密钥对密码进行加密和解密。解密值时出现错误。解密时我丢失任何内容吗? 错误信息 最后我基于@QuantumMechanic答案使用以下解决方案 } 问题答案: 如果对于块密码,您将不使用包含填充方案的转换,则需要使明文中的字节数为该密码的块大小的整数倍。 因此,要么将纯文本填充到16字节的倍数(即AES块大小),要么在创建对象时指定填充方案。例如,您

  • 问题内容: 我的任务是编写一个涉及加密的小型Java控制台应用程序。我对加密不熟悉,因此我必须先阅读一些内容。到目前为止,给出的高级要求是应使用AES-256生成一次性密钥来加密文件。 之后,应使用收件人的公共密钥(RSA-2048)来加密该AES-256一次性密钥。然后将加密的文件和加密的一次性AES-256密钥压缩并发送给收件人。 从我对读取的加密和解密的了解中,除了算法(RSA,AES等)之

  • 问题内容: 我想将加密的密码存储在Java文件中。我在使用 javax.crypto 的解决方案中看到了一个问题,但是问题在于密钥是动态生成的,并且是随机的。 然后将在运行时在Java程序中获取并解密该密码。鉴于我要在文件中存储一个已经加密的密码-解密时我想要正确的文本。 有没有办法告诉javax.crypto方法: 可以将其替换为基于某个私钥生成的我自己的密钥吗? 谁能指出一些有关执行此操作的资

  • 问题内容: 我正在尝试提高将包含敏感数据的MySQL数据库的安全性。我正在努力掌握一些术语。可以让我知道我是否正确理解了这种情况: 静态加密 -似乎我可以在表级别启用它。使用密钥对表中的所有数据进行加密。如果有人持有备份文件或对服务器具有物理访问权限,则数据将受到保护。当然,这假定密钥存储在其他位置。 AES_ENCRYPT- 在向表中插入/更新数据时,可以使用。通过SELECT查询数据时,我使用

  • 我正在尝试提高一个MySQL数据库的安全性,它将包含敏感数据。我很难理解一些术语。谁能告诉我,我是否正确地理解了情况: 在Rest时加密-似乎我可以在表级别上启用此功能。表中的所有数据都使用密钥加密。如果有人掌握了备份文件或获得了对服务器的物理访问权限,那么数据就会受到保护。当然,这假定密钥存储在其他地方。 AES_ENCRYPT-在向表中插入/更新数据时,可以使用。当通过SELECT查询数据时,