解决Nginx的13: Permission denied) while connecting to upstream

时间:2021-02-04 08:24:57

一、问题

做Nginx负载的时候,经常遇到这样的情况:

// :: [crit] #: * connect() to 127.0.0.1: failed (: 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的限制。

三、解决

  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