Selinux导致的Varnish 503错误解决方案

问题情境:
Nginx监听8888端口,Varnish作为前端缓存监听80端口,http://host:8888正常访问,但是http://host/报503错误。
使用Varnishtop命令查看,发现:
.....
FetchError   c no backend connection
........

查看Selinux的deny日志/var/log/audit/audit.log:
........
type=AVC msg=audit(1393389576.537:292): avc:  denied  { name_bind } for  pid=11551 comm="varnishd" src=88 scontext=unconfined_u:system_r:varnishd_t:s0 tcontext=system_u:object_r:kerberos_port_t:s0 tclass=tcp_socket
.......
尝试将Selinux的enforce模式关闭:
echo 0 >/selinux/enforce
问题解决~!

提示:此为临时方案,终极方案是添加新Selinux访问策略:
1、安装audit2allow
yum install policycoreutils-python
2、添加允许vanishd连接任意端口策略
setsebool -P varnishd_connect_any 1

你可能感兴趣的:(varnish,503,selinux)