mod_unique_id: não é possível encontrar o endereço IPv4 do FQDN apesar de configurar etc / hosts e o Apache ServerName

3

Estou tentando obter o mod_security e clicar no erro muito comum de nome de host

[alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "computername.domain.com"

Isso normalmente significa que uma entrada é necessária no arquivo de hosts. No entanto, tentei todas as combinações para o nome do host; localhost (127.0.0.1), endereço IP local (192.168 ....) e endereço IP público ("122.56.11.156"). Eu também tentei todas as combinações para o ServerName do Apache; computador.domínio, domínio, endereços IP e não defini-lo em tudo. Nada parece funcionar para mim.

Atualmente, meu arquivo / etc / hosts parece:

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1              computername.domain.com computername localhost.localdomain localhost    
::1             localhost6.localdomain6 localhost6
192.168.0.102           computername.domain.com computername

#192.168.0.102          computername.hostingprovider.local  computername  # NIC <eth0>
#122.56.11.156          computername.domain.com computername

O Ping funciona, também o nome do host mostra

[root@computername~]# hostname
computername.domain.com

O dns público não tem nome_do_computador como um subdomínio, então qual é a combinação correta de endereço IP / nome_do_servidor a ser usada? O que acontece com entradas duplicadas em hosts? O que mod_unqiue_id verifica que poderia causar falha?

Obrigado por qualquer ajuda que você possa fornecer

O problema subjacente

Obrigado pela sugestão de strace. Ao iniciar o apache, recebi o seguinte.

1377  open("/etc/hosts", O_RDONLY)      = -1 EACCES (Permission denied)

Tão rapidamente as permissões de verificação de sanidade e:

# ll /etc/hosts
-rw-r--r-- 2 root root 608 Jul 22 16:01 /etc/hosts

Mas acabou por ser SELinux , veja abaixo

    
por KCD 22.07.2011 / 06:57

2 respostas

4

O problema foi o SELinux

#less /var/log/audit/audit.log

type=AVC msg=audit(1311546944.235:1040): avc:  denied  { read } for  pid=1396 comm="httpd" 
name="hosts" dev=dm-0 ino=262931 
scontext=user_u:system_r:httpd_t:s0 
tcontext=system_u:object_r:initrc_tmp_t:s0 tclass=file

No meu caso, o seguinte resolveu:

# ls -lZ /etc/hosts
-rw-r--r--  root root system_u:object_r:initrc_tmp_t   /etc/hosts
# setenforce 0
# restorecon -R -F -v /etc/hosts
# setenforce 1
# ls -lZ /etc/hosts
-rw-r--r--  root root system_u:object_r:etc_t          /etc/hosts
    
por 26.07.2011 / 00:36
3

Eu estaria procurando por erros de digitação e outros erros "estupidamente simples" que todos nós cometemos de tempos em tempos (eu uso minha esposa como revisora), mas se isso não funcionar eu para ver o que o mod_security está tentando fazer. Pode não estar lendo /etc/hosts - talvez esteja tendo uma falha para resolver o nome via DNS como algum tipo de falha grave, ou algo mais.

De qualquer forma, eu estaria colocando o nome da máquina no DNS de qualquer maneira. Isso apenas poupa tantos aborrecimentos.

    
por 22.07.2011 / 07:48