Ok, descobri - foi uma questão de proxy. Havia uma variável de ambiente proxy definida nos meus scripts de inicialização, que não é chamada para o apache.
curl http://example.com
dados recuperados ok
sudo -u apache curl http://example.com
20 segundos depois
curl: (7) couldn't connect to host
O que causaria isso e como posso alterá-lo? Estou executando algum código como apache (principalmente devido a permissões de arquivo), e esse código precisa ser capaz de se conectar a outro servidor.
Com base em outra pergunta ( Bloquear conexões de saída para certos UIDs (root, apache, nobody) ) Eu pensei que talvez a resposta seria em / etc / iptables, mas esse arquivo não usa -m dono:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
O SELinux está no modo permissivo, até onde eu sei:
cat /selinux/enforce
0
O que mais poderia estar causando isso? RHEL 6.2.