nginx奇怪故障解决 – connect() to 127.0.0.1:5601 failed (13: Permission denied) while connecting to upstream

一、问题

做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

这样处理一般可以解决问题。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注