• 【Linux】生产环境下解决Nginx 403 被selinux阻止访问的问题


      最近在Centos7.6上部署Nginx时,发现访问网站时报出403错误。

      经排查,可以排除以下几点原因:

        1.启动用户问题。已确认nginx.cnf中配置的用户是root,nginx服务的启用项也是root。

             2.路径不正确,找不到路径下的index.html文件的问题。经过反复确认,路径是正确的。

      剩下就是要排查是否是selinux的问题了。

            先用setenfoce 0 临时关闭SELinux,然后发现网站可以正常访问了,由此基本可以确认是SELinux的问题。

      虽然setenfoce 0 临时关闭SELinux可以让网站正常访问,但毕竟治标不治本,生产环境下用这种方式很容易造成系统漏洞,因此需要在开启SELinux的基础上对nginx放行。

           1.允许http访问

    setsebool -P httpd_can_network_connect 1

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

    ausearch -c 'nginx' --raw | audit2allow -M my-nginx

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

    semodule -i my-nginx.pp

         

         4.执行完以上步骤后网站可以正常访问。

  • 相关阅读:
    test
    flash链接需要后台调用时的插入flash方法
    js验证码倒计时
    设置Cookie
    用in判断input中的placeholder属性是否在这个对象里
    常用的正则表达式规则
    webApp添加到iOS桌面
    .substr()在字符串每个字母前面加上一个1
    PAT 甲级1001 A+B Format (20)(C++ -思路)
    PAT 1012 数字分类 (20)(代码+测试点)
  • 原文地址:https://www.cnblogs.com/nonkicat/p/16422226.html
Copyright © 2020-2023  润新知