在Apache中控制对大型文件的访问

在Apache中控制对大型文件的访问,apache,authentication,cgi,cgi-bin,Apache,Authentication,Cgi,Cgi Bin,我希望通过使用签名URL来控制对一些大文件的访问(我们这里说的是很多GB)。这些文件目前受到LDAP基本身份验证(mod_auth_LDAP)的限制,但我需要更改此项以验证签名(作为URL中的查询参数传递) 基本上,我只需要运行一个脚本来验证签名,并允许请求继续进行,就像身份验证已经成功一样。我最初的想法是使用一个简单的CGI脚本,但由于文件太大,我担心性能。因此,实际上,这个问题(可能)更像是“通过Apache从CGI脚本流式传输大文件是否会影响性能?”…如果是的话,“有没有更好的方法来实现这

我希望通过使用签名URL来控制对一些大文件的访问(我们这里说的是很多GB)。这些文件目前受到LDAP基本身份验证(
mod_auth_LDAP
)的限制,但我需要更改此项以验证签名(作为URL中的查询参数传递)

基本上,我只需要运行一个脚本来验证签名,并允许请求继续进行,就像身份验证已经成功一样。我最初的想法是使用一个简单的CGI脚本,但由于文件太大,我担心性能。因此,实际上,这个问题(可能)更像是“通过Apache从CGI脚本流式传输大文件是否会影响性能?”…如果是的话,“有没有更好的方法来实现这一点(除了编写专用的身份验证模块之外)?”

如果这有任何意义,我们将非常感谢您的帮助:)


顺便说一句,我不确定到底该搜索什么(10分钟的谷歌搜索毫无结果),因此,我很可能是在复制别人的帖子。

看看apache中的加密cookies/会话-一种方法是在该目录中设置必须具有有效会话限制-将没有有效会话限制的任何人转发到cgi脚本;在那里进行身份验证-然后转发回实际下载

这样,apache就可以使用其正常的sendfile()和其他优化

但是,请记住,以简单的“execvp”、“execcat”或类似内容结尾的shell脚本或perl脚本并不昂贵

另一种选择是更像基于uRL的


德瓦

我用前面提到的CGI脚本解决了这个问题……cookies不是一个选项,因为我们需要能够支持不使用cookies(apt)的客户端