本文探讨出现的原因是centOS7的selinux安全机制,会导致进程端口访问受限,从而nginx报错502
基于上文 nginx启动报错[emerg]bind xxx failed, permission denied(原因是selinux 安全机制端口限制) 的进一步发现问题及探究。
上文情况解决后,然后访问nginx代理的后端,会出现nginx 502 bad gateway的问题,这个问题依然源于 selinux 安全机制
原因是selinux安全机制默认将httpd网络连接关闭,启用即可
查看httpd,默认是关闭状态
getsebool httpd_can_network_connect # 默认是off
启用httpd网络连接
sudo setsebool -P httpd_can_network_connect 1
总结:centOS7的selinux安全机制默认限制进程上下文访问,需要放行。
PS:当然你可以临时关闭 selinux 安全机制,改变其模式(有三种)。注意重启失效的问题。不想折腾可关闭。。。