Skip to main content
 首页 » 编程设计

encryption之如何在 nginx 上进行即时解密

2025年05月04日275pengyingh

我在 nginx 上存储加密(AES 256)文件。我通过 GET 请求打开它们并使用键作为查询参数。例如 http://www.my_secure_nginx.com/files/secret_audio.mp3?key=mysecretkey您能否建议解决方案如何为 nginx 文件服务器(可能是现有的过滤器)维护分 block 响应。换句话说,我需要在 nginx 上进行即时解密文件。

请您参考如下方法:

最简单的方法是为 nginx in Lua 编写自己的模块。 . Lua-resty-string module already supports AES .添加一些文件处理代码读取代码,你就完成了。 Lua 模块非常快,因为它们在非阻塞 I/O 中工作。

要记住的重要部分是处理填充 - 原始文件大小必须存储在某个地方(DB、xattr 等)并传递给 nginx 或由 nginx 读取。

另一个重要的话题是最终支持随机访问。数据必须在 CTR mode 中进行 AES 加密为了那个原因。 XTS、CBC、CFB 也很好,但需要更多的开发工作。