放弃 Apache 后,我们使用 NGINX 作为主要 Web 服务器。我们最近决定测试 ClamAV 集成,以确保用户上传的文件在传输到 Amazon S3 之前经过彻底扫描。
我正在寻找一种简单的方法来集成 NGINX 和 ClamAV,即扫描上传到临时文件夹的每个文件,如果发现被感染,则将其删除。
我找到了mod_clamav
适用于 Apache 的版本,但没有适用于 NGINX 的类似支持。有没有一种好的方法可以将 ClamAV 和 NGINX 集成在一起,还是应该在应用程序级别进行集成(即下载文件,然后触发在上传之前进行扫描的应用程序)?
答案1
我能看到的唯一方法是使用 Nginx 中的 Lua 来执行扫描,但这会阻止 Nginx 工作程序,这意味着它将无法提供内容。
我强烈建议在您的应用程序内部而不是在 Web 服务级别执行检查。
如果您想出一种在不阻止工作人员的情况下执行扫描的方法,我会很高兴知道,因为之前必须在应用程序内执行此操作。