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

2020-12-18 2,232 0

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 推荐这种方式

相关文章

集群压测体系搭建-实时监控平台(2)
密码保护:Metersphere使用实践,优缺点分析
密码保护:MS自动化测试框架调研
记一次Nginx代理Mysql服务的经历
Jenkins中自动化创建Jira任务
集群压测体系搭建-Jmeter集群(1)

发布评论