一、问题
做Nginx负载的时候,经常遇到这样的情况:
2018/12/04 11:05:08 [crit] 2717#2717: *10 connect() to 127.0.0.1:5601 failed (13: Permission denied) while connecting to upstream, client: 172.16.4.33, server: 172.16.4.141, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:5601/", host: "172.16.4.141"
客户端访问时提示502错误,防火墙、负载均衡配置,都是正常的。该机器访问127.0.0.1:5601也是正常的,远程访问也正常,就是Nginx做转发后就是不行。
二、原因
是因为SeLinux的限制。
三、解决的方法是关闭 SeLinux,方法有
1.关闭SeLinux
1.临时关闭(不用重启机器):
setenforce 0 ##设置SELinux 成为permissive模式 有时候这样做就好了
##setenforce 1 设置SELinux 成为enforcing模式
2.修改配置文件需要重启机器:
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
2.执行下面的命令
setsebool -P httpd_can_network_connect 1
这样处理一般可以解决问题。