nginx反向代理502-Bad Gateway问题解决

最近使用nginx反向代理www.codingplayboy.com域名到服务器apache httpd 8080端口服务时,访问出现502 bad gateway,现记录解决方法。

首先,发现问题,先验证8080端口服务是否启动,使用IP:端口方式可以访问,说明服务已启动;然后查看错误日志:error.log,以centos7为例,默认路径为:/var/log/nginx/error.log:

这里是没有相关错误,说明nginx反向代理配置没有出错,那就可能是httpd服务发生异常,查看SELinux日志,vi /var/log/messages

SELinux缺省会通过Linux审计系统auditd将日志写在/var/log/audit/audit.log内,而该服务缺省为启用的;假若auditd长驻程序并未运行,信息将会被写进/var/log/messages

error.log

如图,发现访问时,连接apache服务失败,Permission denied,访问被拒绝了,使用以下指令查看:


getsebool -a |grep httpd_can_network_connect or /usr/sbin/getsebool -a |grep httpd_can_network_connect

结果输出:httpd_can_network_connect --> off,SELinux配置将httpd网络连接关闭,所以很自然将其启用即可:


setsebool -P httpd_can_network_connect 1

SELinux配置修改

再次访问,即可正常访问,当然,直接关闭SELinux也可以访问,但是不建议这样解决问题。

原创文章,转载请注明: 转载自 熊建刚的博客

本文链接地址: nginx反向代理502-Bad Gateway问题解决

熊 建刚

热爱前端,但不局限于前端,喜欢尝试各种新技术,爱好读书。

3 thoughts on “nginx反向代理502-Bad Gateway问题解决

  1. 非常感谢你的分享,这个问题困扰我太长时间了,我用谷歌查阅了大量的英文资料都得不到解决,直到看到你的文章,你把你宝贵的经验分享在互联网上,不求回报,这种毋以善小而不为的做法,值得我尊敬。

    1. 胡大来了O(∩_∩)O,是啊,之前脑子没转过弯,完全可以不用apache了

发表评论

电子邮件地址不会被公开。 必填项已用*标注