O Apache httpd não parará de fazer solicitações reversas de DNS para os IPs dos clientes

7

Obviamente, minha instância httpd do Apache está fazendo pesquisas de DNS reverso (RDNS, me dê o nome do host para esse endereço IP) para o endereço IP de cada conexão de cliente de entrada. Isto é mau. Especialmente porque às vezes a resolução falha com um registro PTR ausente - depois de 28 segundos .

Diagnósticos: adicionei %D ao meu estilo de registro "combinado" e observei os tempos de resposta da seguinte maneira: Claramente < 1s para todos aqueles que estão registrados com seu nome de host e 20 + s para aqueles que recebem seu IP .

Isso é o que eu tentei:

  • Desative a extensão server-status .
  • Verifique se HostnameLookups Off está na configuração.
  • Verifique se mod_access não recebe nenhum nome de host em uma regra Allow / Deny .
  • Verifique se os servidores proxy reversos seguem as mesmas regras.

O que eu perdi?

    
por Paul 06.01.2010 / 22:44

4 respostas

13

Parece que a instalação padrão do Ubuntu 8.04 Apache vem com um LogFormat que começa com %h e que faz uma pesquisa de RDNS do IP do cliente. Por que oh por que?? Substituí-lo por %a (endereço IP remoto, consulte formatos de registro personalizados ) reduz esse problema por ca. 90%. Alguns permanecem ...

    
por 06.01.2010 / 23:38
2

Você verificou que HostnameLookups não está definido em nenhuma outra diretiva? Você ativou o módulo mod_authz_host?

    
por 06.01.2010 / 23:21
0

Curiosamente, acabei de encontrar um problema semelhante em um dos meus servidores. O problema começou bem na época em que eu executei um script PHP de linha de comando que verificava os arquivos de log dos principais endereços IP. Então eu fiz o PHP executar uma pesquisa reversa de DNS em cada endereço IP. Bem na época em que fiz isso, percebi que o Apache de repente começou a despejar nomes de host nos logs em vez de endereços IP. Mudar para% a de% he reiniciar o Apache parece ter resolvido o problema. HostnameLookups está definido como Desativado. Meu palpite é que o Apache usa apenas resultados armazenados localmente em cache se houver uma pesquisa inversa para o IP no cache. Talvez? Ou isso ou isso é um bug no servidor.

    
por 27.08.2010 / 01:38
0

Eu tropecei no mesmo problema e descobri outra fonte de pesquisas reversas: as próprias aplicações! O PHP tem a função gethostbyaddr() :

link

    
por 20.11.2011 / 15:53