控制对 Apache 中大文件的访问

发布于 2024-10-10 08:15:32 字数 397 浏览 3 评论 0原文

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

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

如果这有意义,我们将不胜感激:)

PS 我不确定到底要搜索什么(10 分钟的谷歌搜索没有结果),所以我很可能复制别人的帖子。

I am looking to control access to some large files (we're talking many GB here) by the use of signed URLs. The files are currently restricted by LDAP Basic authentication (mod_auth_ldap), but I need to change this to verify the signature (passed as a query parameter in the URL).

Basically, I just need to run a script to verify the signature, and allow the request to proceed as if authentication had succeeded. My initial thought to this was just to use a simple CGI script, but as the files are so large I'm concerned about performance. So, really, this question is (probably) more like "are there any performance implications of streaming large files from a CGI script via Apache?"… and if so, "is there a better way of doing this (short of writing a dedicated authentication module)?"

If this makes any sense, help would be much appreciated :)

P.S. I wasn't sure exactly what to search for for this (10 minutes of Googling were fruitless), so I may very well be duplicating someone else's post.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

动听の歌 2024-10-17 08:15:32

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

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

但请记住,以简单的“execvp”、“exec cat”或类似内容结尾的 shell 脚本或 Perl 脚本并不那么昂贵。

另一种选择是更多基于 URL - 例如 http://authmemcookie.sourceforge.net/

深度。

Have a look at the crypto cookies/sessions in apache - one way to do this is to put a must-have-valid session limit on that directory - forward anyone who does not have a valid one to a cgi-script; auth there - and then forward back to the actual download.

That way apache can use its normal sendfile() and other optimizations.

However keep in mind that a shell script or perl script ending with a simple 'execvp', 'exec cat' or something like that is not that expensive.

An alternative is more uRL based - like http://authmemcookie.sourceforge.net/.

Dw.

素年丶 2024-10-17 08:15:32

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

I ended up solving this with a CGI script as mentioned… cookies weren't an option because we need to be able to support clients that don't use cookies (apt).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文