мод_evasive ничего не делает на сервере Ubuntu 16.04

] Я установил mod_evasiveна Apache/2.4.18с помощью этого руководства.:https://komunity.komand.com/learn/article/server-administration/how-to-configure-modevasive-with-apache-on-ubuntu-linux/

Я только изменил email@yourdomain.comна root@localhost.

В первый раз, когда я использовал test.pl, он работал, но каждый раз он показывает только HTTP/1.1 400 Bad Request. Я не уверен, что случайно что-то изменил, но вот мой test.pl.

#!/usr/bin/perl

# test.pl: small script to test mod_dosevasive's effectiveness

use IO::Socket;
use strict;

for(0..100) {
    my($response);
    my($SOCKET) = new IO::Socket::INET( Proto   => "tcp",
                                        PeerAddr=> "127.0.0.1:80");
    if (! defined $SOCKET) { die $!; }
    print $SOCKET "GET /?$_ HTTP/1.0\n\n";
    $response = <$SOCKET>;
    print $response;
    close($SOCKET);
}

Поскольку это сработало с первого раза, разве это не должно быть журналом? Я проверил /var/log/mod_evasive/, и он пуст. В syslogтакже нет упоминания о mod_evasive. Есть только rootв /var/mail/, который также не получил письмо mod_evasive.

Может ли это быть потому, что я перенаправляю httpна https? Я установил Redirect permanent / https://mydomain.exampleв 000-default.conf.

0
задан 6 August 2017 в 12:23
1 ответ

проблема зависит от test.pl

перепишите строку

print $SOCKET "GET /?$_ HTTP/1.0\n\n";

как

print $SOCKET "GET /?$_ HTTP/1.0\r\nHost: 127.0.0.1\r\n\r\n";

Из https://centosfaq.org/centos/apache-mod_evasive-problem-with-testpl/

0
ответ дан 30 June 2020 в 09:08

Теги

Похожие вопросы