Назад | Перейти на главную страницу

Что мешает пользователю Apache устанавливать исходящие соединения?

curl http://example.com

данные получены нормально

sudo -u apache curl http://example.com

20 секунд спустя

curl: (7) couldn't connect to host

Что могло вызвать это, и как я могу это изменить? Я запускаю некоторый код как apache (в основном из-за прав доступа к файлам), и этот код должен иметь возможность подключаться к другому серверу.

На основании другого вопроса (Блокировать исходящие соединения для удостоверения uid (root, apache, никто)Я подумал, может быть, ответ будет в / etc / iptables, но этот файл не использует -m owner:

# 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

SELinux находится в разрешающем режиме, насколько я могу судить:

cat /selinux/enforce
0

Что еще могло быть причиной этого? RHEL 6.2.

Хорошо, разобрался - это проблема прокси. В моих сценариях запуска была установлена ​​переменная среды прокси, которая не вызывается для apache.