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

前端之家收集整理的这篇文章主要介绍了nginx是否在提供静态文件时调用了外部脚本(传递请求信息)? 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在托管播客录音的服务器上设置下载日志记录.我们只想轻松地将带有时间戳和请求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的语法,但是应该可以正常工作.您还可以解析日志文件

猜你在找的Nginx相关文章