我希望在服务时使用Nginx加密服务器上的大型静态文件。我希望使用请求中发送的公钥作为标头来完成加密,我希望这个端点只能被特定用户访问(如果有人找到了网址,如果他不被允许,他应该得到access denied
访问该文件。)我希望Nginx能够随机访问这些加密文件。
第一个问题:它有可能吗? (对于授权部分,我很清楚,如果有任何解决方案,我的身份验证和授权是在Django中完成的,会话密钥存储在postgre中,但我不知道是否可以与nginx共享它。)可以一个lua nginx的插件从postgre(或redis)读取会话数据并以良好的性能进行授权检查?
第二个问题:如何?
我可能的一个解决方案是使用不同的证书文件(由django使用密码生成)来将文件作为https提供。但我不知道是否可以使用基于URI动态生成的不同证书文件,我不知道nginx是否可以通过https提供非对称加密文件,或者如果https协议支持它,即使客户端是自定义客户端也是如此除了普通的浏览器之外,它可以以任何方式解析数据。
另一个可能的解决方案是为Nginx编写一个Lua插件,但考虑到我的资源,这对我来说是非常昂贵的解决方案。但是,如果有人能告诉我,即使使用自定义插件,它是否可能,我会感激不尽。