加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

nginx是否在提供静态文件时调用了外部脚本(传递请求信息)?

发布时间:2020-12-13 20:54:08 所属栏目:Nginx 来源:网络整理
导读:我正在托管播客录音的服务器上设置下载日志记录.我们只想轻松地将带有时间戳和请求IP地址下载的文件登录到MySQL. 由于这些文件平均至少150MB,我认为使用readfile()是个坏主意(不要让PHP在文件下载的整个过程中都运行),而是必须将文件存储在与PHP不同的位置记

我正在托管播客录音的服务器上设置下载日志记录.我们只想轻松地将带有时间戳和请求IP地址下载的文件登录到MySQL.

由于这些文件平均至少150MB,我认为使用readfile()是个坏主意(不要让PHP在文件下载的整个过程中都运行),而是必须将文件存储在与PHP不同的位置记录后将它们重定向到.

当然,问题在于,一旦重定向,他们可能会复制并使用该重定向的链接,而无意中绕过了下载日志.我想避免这种情况.

我想我最好的选择是将nginx配置为在提供文件之前调用辅助脚本,然后将请求数据传递给它进行处理.有没有办法做到这一点?

最佳答案
是的,您可以使用http://wiki.nginx.org/HttpLuaModule

location /file {
   content_by_lua 'os.execute("php cli.php ',ngx.var.remote_addr,'")';
}    

不确定传递IP的语法,但是应该可以正常工作.您还可以解析日志文件

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读