Мы используем NGINX в качестве нашего основного веб-сервера после того, как отказались от Apache. Недавно мы решили протестировать интеграцию с ClamAV, чтобы файлы, загруженные пользователями, были тщательно просканированы перед передачей в Amazon S3.
Я ищу простой способ интеграции NGINX и ClamAV, то есть каждый файл, загруженный во временную папку, сканируется и удаляется, если обнаруживается заражение.
Я нашел mod_clamav
для Apache , но нет аналогичной поддержки для NGINX. Есть ли хороший способ интегрировать ClamAV и NGINX, или это следует делать на уровне приложения (т. Е. Загрузить файл, а затем запустить приложение, которое будет сканировать перед загрузкой)?
Единственный способ, который я мог видеть для этого, - это использовать Lua в Nginx для выполнения сканирования, однако это заблокирует рабочий Nginx, который означает, что он не будет обслуживать контент.
Я настоятельно рекомендую выполнять проверку в вашем приложении, а не на уровне веб-службы.
Если вы придумаете способ выполнить сканирование без блокировки рабочего, я бы люблю это знать, так как раньше приходилось выполнять это в приложении.