verifying uploaded files with ClamAV before upstream

Jérémie Pierson lists at ruby-forum.com
Sun Aug 28 22:01:26 UTC 2011


Hi!

I have a webapp that allows users to upload files. But before that
webapp sees the files, I need to check them for viruses (with ClamAV).
Requests are proxied by Nginx with a classic proxy_pass directive.

I have tried tu use the embedded Perl module, without success.

Specifically, I successfully got access to the body of the client
request (i.e. the uploaded file's content), but have problem with the
reply...

If a virus is found, I want to reply with e.g. "403 Forbidden". But if
the file is clean, I want the webapp to get it via proxy_pass as
usual. I could only manage either always 403, or always pass to upstream
:-(

Is it possible to do that with the Perl module? I would prefer that
solution as I don't have much time for the alternative :-)

If not, could I write a handler module to do that? I read Evan Miller's
guide to Nginx modules, but I'm not sure how to pass control to another
handler in the "no-virus" case.



--
Jérémie

-- 
Posted via http://www.ruby-forum.com/.


More information about the nginx mailing list