Apache 2.2.22 executando um aplicativo Django mostra erro “cliente negado pela configuração do servidor”

0

Eu tenho um servidor Debian 7.1 amd64 com o apache httpd 2.2.22 e o Python 2.7.3 instalado, para servir um aplicativo django que conectei ao apache usando o mod_wsgi e o script padrão django wsgi.py . Django é a versão 1.5.4 mais recente com todas as dependências de pacotes python em um virtualenv gerenciado por pip fornecido com o debian.

Eu executei chown -R www-data:www-data em todos os diretórios virtualjv do django e do python para fazê-lo funcionar. A configuração do Apache para este virtualhost é mínima e segue o guia oficial do django no link .

Consegui fazê-lo funcionar, exceto que alguns clientes obtêm a página de erro Proibido do Apache (não o django). E o arquivo de log de erro do apache para este host virtual contém linhas como esta:

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

Funciona perfeitamente bem para outros clientes. O que poderia ter dado errado?

    
por zaadeh 12.10.2013 / 17:02

1 resposta

0

Esse erro vem do módulo mod_evasive apache.

Eu tinha instalado o mod_evasive do apache para proteção DoS, e eu não sabia que apenas instalando este módulo ele afeta o apache e na configuração padrão (inexistente) do Debian para este módulo é bastante agressivo para aplicações web baseadas em serviços modernos.

Eu criei /etc/apache2/mods-available/mod-evasive.conf como uma configuração padrão para este módulo com limites mais altos e problemas solucionados.

    
por 15.10.2013 / 18:28