Nginx出现:connect() to ******:8080 failed (13: Permission denied) while connecting to upstream

Nginx的错误日志

错误背景:

配置服务器集群时,单个服务正常,但是放到nginx中访问不成功,前端报错如下截图,nginx中的错误日志如上截图;

错误分析:

两个Tomcat服务器在同一个服务器上面部署,端口号分别为8080和8081,单独访问是可以成功的,排除单个服务器出故障的可能性,那大概率就是nginx或者nginx所在服务器上面出错;

从日志中可以查看到大概有两种类型的错误信息,1是权限不够,2 是upstream没有成功访问到所指向的服务;

亲测解决方式:

问题1(可以直接先试问题2的解决方案是否可行)

不排除有的虚拟机是nginx在执行任务时没有获得到足够的权限,那就可以给nginx赋予足够权限

sudo vi /etc/sudoers 

找到如下一行
root    ALL=(ALL)       ALL
直接拷贝一个属于nginx的 超级管理员权限
nginx   ALL=(ALL)       ALL

然后wq保存

保存之后让文件生效 sudo source /etc/sudoers

问题2

原因是SELinux限制了nginx对外访问的权限,按照如下操作设置允许远程网络连接,以上两个错误我是用下面的操作解决的;

查网络访问的配置
getsebool -a | grep httpd_can_network_connect
如果结果如下
httpd_can_network_connect --> off

 
则执行如下命令打开:
#SELinux命令,临时配置,重启后失效
setsebool httpd_can_network_connect=1
写入配置文件的命令,重启后保留
setsebool -P httpd_can_network_connect 1 推荐这种方式

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值