如何通过Python云函数连接启用AUTH和TLS的GCP Redis实例
Cloud Functions上Flask应用连接Redis实例的问题
我需要将部署在Cloud Functions上的Flask应用连接到Redis实例,使用StrictRedis库,已将redis_host、redis_port、redis_password和redis_cert作为Cloud Functions的运行时变量存储,尝试了以下几种解决方案:
方案1
redis_client = redis.StrictRedis( host=os.environ.get("redis_host"), port=os.environ.get("redis_port"), password=os.environ.get("redis_password"), ssl=True, ssl_cert_reqs=ssl.CERT_REQUIRED, ssl_ca_certs=os.environ.get("redis_cert"))
方案2
ssl_context = ssl.SSLContext() ssl_context.verify_mode = ssl.CERT_REQUIRED ssl_context = ssl.load_verify_locations(cadata=os.environ.get("redis_cert").encode()) redis_client = redis.StrictRedis( host=os.environ.get("redis_host"), port=os.environ.get("redis_port"), password=os.environ.get("redis_password"), ssl=True, ssl_cert_reqs=ssl.CERT_REQUIRED, ssl_context=ssl_context)
方案3
ssl_context = ssl.create_default_context(cadata=os.environ.get("redis_cert").encode()) redis_client = redis.StrictRedis( host=os.environ.get("redis_host"), port=os.environ.get("redis_port"), password=os.environ.get("redis_password"), ssl=True, ssl_cert_reqs=ssl.CERT_REQUIRED, ssl_context=ssl_context)
方案4
我尝试下载server-ca.pem文件并在cafile中传入,但遇到如下错误:
Error: context.load_verify_locations(cafile, capath, cadata) FileNotFoundError: [Errno 2] No such file or directory
内容的提问来源于stack exchange,提问作者Sourabh Rupani
相关产品推荐
相关产品推荐

