CentOS 5.x에서 웹서버나 PHP에서 원격서버에 연결할때 기본적으로 SELinux 보안 모듈에서
막나보네요. PHP에서 원격 DB에 연결이 안되서, iptables도 열심히 만지고 PHP소스도 컴파일 다시 하고, tcpdump로 패킷 보고 –; 하여간 삽질하다가 겨우 해결했습니다.
웹서버는 lighttpd, mod_fastcgi 모듈로 PHP 사용중입니다.
아래처럼 웹서버에서 외부로 연결가능하도록 설정가능합니다.
# /usr/sbin/setsebool httpd_can_network_connect=1
원격 DB 연결, PHP에서 get_file_content() 함수로 외부의 데이터를 받을 때, 웹서버에서 mod_proxy 사용등을 할때 아마도 이 설정을 풀어줘야할듯 하네요.
재부팅할때도 적용되게 하려면,
# /usr/sbin/setsebool -P httpd_can_network_connect=1
출처: