是否有安全的方式将 Redis 与托管在 Vercel 上的 Next.js 应用程序一起使用?

问题描述 投票:0回答:0

我昨天花了几个小时试图找到一种方法来将 Redis 与在 Vercel 上运行的应用程序一起使用。根据 Redis 安全文档,将 Redis 实例直接暴露在互联网上不是一个好主意:

Redis 旨在供受信任环境中的受信任客户端访问。这意味着通常将 Redis 实例直接暴露给 Internet 或通常暴露给不受信任的客户端可以直接访问 Redis TCP 端口或 UNIX 套接字的环境并不是一个好主意。

我想使用 Digital Ocean 的可信来源将传入连接限制为来自我的 Vercel 服务器的连接,但看起来这是不可能的,因为 Vercel 使用动态 IP 地址。根据 Vercel 文档

为确保您的 Vercel 部署能够访问外部资源,您应该允许来自所有 IP 地址的连接。通常这可以通过输入 IP 地址 (0.0.0.0) 来实现。

虽然允许来自所有 IP 地址的连接可能是一个问题,但依靠 IP 白名单来确保安全通常是无效的,并且可能导致不良的安全措施。

为了妥善保护您的数据库,我们建议使用随机生成的密码,存储为环境变量,长度至少为 32 个字符,并定期轮换此密码。

我可以依赖密码验证,但根据 Redis 文档,这意味着另一层冗余,而不是主要的安全措施。我是不是遗漏了什么,或者是否没有在不影响安全性的情况下将 Redis 与 Vercel 一起使用的好方法?

database security next.js redis vercel
© www.soinside.com 2019 - 2024. All rights reserved.