Apache 2.2.22 beim Ausführen einer Django-App zeigt den Fehler "Client wurde von der Serverkonfiguration abgelehnt"

1165
zaadeh

Ich habe einen Debian 7.1-amd64-Server mit Apache httpd 2.2.22 und Python 2.7.3 installiert, um eine Django-App zu bedienen, die ich unter Verwendung von Mod_wsgi und dem Standard-Django- wsgi.pySkript mit Apache verbunden habe . Django ist die neueste Version 1.5.4 mit allen Abhängigkeiten des Python-Pakets in einer von debian verwalteten Virtualenv pip.

Ich habe chown -R www-data:www-datadie gesamten Django und Python virtualenv Verzeichnisse ausgeführt, damit es funktioniert. Die Apache-Konfiguration für diesen virtuellen Host ist ziemlich minimal und folgt dem offiziellen Django-Leitfaden unter https://docs.djangoproject.com/en/1.5/howto/deployment/wsgi/modwsgi/ .

Ich habe es geschafft, dass es funktioniert, mit der Ausnahme, dass einige Clients Apache (nicht Django) 403 Forbidden-Fehlerseite erhalten. Die Apache-Fehlerprotokolldatei für diesen virtuellen Host enthält folgende Zeilen:

[client x.x.x.x] client denied by server configuration: /path/to/django/wsgi.py 

Es funktioniert perfekt für andere Kunden. Was hätte schief gehen können

0

1 Antwort auf die Frage

0
zaadeh

Dieser Fehler kommt vom mod_evasiveApache-Modul.

Ich hatte Apache mod_evasive für DoS-Schutz installiert, und ich wusste nicht, dass die Installation dieses Moduls Apache betrifft und dass die Debian-Standardkonfiguration (nicht vorhanden) für dieses Modul für moderne dienstbasierte Webanwendungen ziemlich aggressiv ist.

Ich habe /etc/apache2/mods-available/mod-evasive.confals Standardkonfiguration für dieses Modul mit höheren Grenzwerten erstellt und Probleme gelöst.