开启 SeLinux 导致的 502 错误

开启 SeLinux 导致的 502 错误

SeLinux 设置不当会导致很多问题。

一台很久没有打理的 CentOS 服务器,最近去打开 odoo 的应用,nginx 居然报 502 错误,这台服务器几天前还在正常运行的。同事说最近更新过系统,但没做其它操作。检查了所有配置文件,也没有改动的痕迹,实在找不到原因。由于 Nginx 报 502 错误的原因也非常复杂,这台服务器的 nginx 被设置成反向代理模式,其它几个应用都没问题,判断是 odoo 导致的。 直接使用 ip 加端口号却可以访问 odoo,说明 odoo 本身是没问题,问题应该出在 nginx 与 odoo 之间的连接。查看 nginx 的错误日志,看到这个错误: 2015/02/09 14:18:25 [crit] 3347#0: *40 connect() to 127.0.0.1:8069 failed (13: Permission denied) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: www.domain.com, request: “GET / HTTP/1.1”, upstream: “http://127.0.0.1:8069/”, host: “www.domain.com” 显示“没有权限”,之前都在正常使用的,为什么会没有权限呢?把 nginx 的用户添加到 openerp 组也不起作用。 后来看了一下 SeLinux 状态(命令:/usr/sbin/sestatus -v),居然是开启的,估计就是这个原因了,先临时关闭一下(命令:setenforce 0),再浏览一下,一切正常!果断地把 SeLinux 设置成永久关闭(命令:vi /etc/selinux/config,然后将SELINUX=enforcing改为SELINUX=disabled,重启系统)。 问题虽已解决,却留下一个疑问:为什么 SeLinux 会自动开启了呢? 关闭 SeLinux

anyShare分享到:

发表评论

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