Вместо того, чтобы дать решение для lighttpd
, я бы порекомендовал вам использовать fail2ban, который присутствует во всех системах на основе Unix. Он отслеживает изменения в файлах журнала и анализирует их в соответствии с правилами регулярных выражений и в случае совпадения шаблона (HTTP / 1.0 в вашем случае) заблокирует его на уровне брандмауэра системы, что более эффективно для блокировки нежелательных соединений.
Кроме того, если вы испытываете ненормальный трафик, когда вы видите больше вредоносных запросов, чем обычных запросов, вы можете добавить следующее правило брандмауэра для замедления DDoS-атаки.
iptables -A INPUT -p tcp --dport 80 -m limit --limit 20/minute --limit-burst 127 -j ACCEPT
Если вы все еще хотите заблокировать HTTP / 1.0 на lighttpd
уровне, попробуйте подобрать протокол HTTP следующим образом:
env.SERVER_PROTOCOL == "HTTP/1.0" { url.access-deny = ( "" ) }
(Решение не проверялось с тех пор, как я nginx
давно перешел, но, скорее всего, оно может сработать.)