浏览器请求 Linux被 nginx拦截,解决SELinux阻止Nginx访问服务

在使用 yum 安装 nginx 后可能会出现配置完成后却无法访问的问题,查看 audit.log 会发现类似于以下的错误信息

994c81daa638

audit.log

出现此问题的原因是 SELinux 基于最小权限原则默认拦截了 Nginx 的请求,SELinux 是 Linux 的安全子系统,提供更安全的访问控制,许多运维人员嫌麻烦可能会直接关闭此组件,但是治标不治本,本文演示在启用 SELinux 基础上完成对 Nginx 请求的放行。

首先我们需要确认 SELinux 的运行状态,当然出现此问题肯定是运行中。

[root@centos-server-02 local]# sestatus

SELinux status: enabled

SELinuxfs mount: /sys/fs/selinux

SELinux root directory: /etc/selinux

Loaded policy name: targeted

Current mode: enforcing

Mode from config file: enforcing

Policy MLS status: enabled

Policy deny_unknown status: allowed

Max kernel policy version: 31

临时关闭 SELinux:setenforce 0

临时启动 SELinux:setenforce 1

永久关闭/启动:修改/etc/sysconfig/selinux后重启系统

开启 HTTP 访问。

[root@centos-server-01 audit]# setsebool -P httpd_can_network_connect 1

分析现有日志并生成关联模块,执行完此命令可以看到在当前目录下会生成后缀为*.pp和*.te文件,如果该服务器上的服务未被访问过,此命令执行无效。

[root@centos-server-01 audit]# ausearch -c 'nginx' --raw | audit2allow -M my-nginx

加载前一步生成的模块内容

[root@centos-server-01 audit]# semodule -i my-nginx.pp

执行完成以上命令后即可对 Nginx 进行正常访问。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值