zoukankan      html  css  js  c++  java
  • Nginx 因 Selinux 服务导致无法远程訪问

    文章来源:http://blog.csdn.net/johnnycode/article/details/41947581


    2014-12-16日

    昨天晚上处理好的网络訪问连接。早晨又訪问不到了。

    现象是Nginx能够获得 Respone Head信息,但Respone Body信息间歇性能够获取,Nginx配置为监听80port。iptables 和 selinux 服务停止状态。

    终于的处理结论是某IDC要求80port必须申请白名单才干够訪问,由于能够间歇性获取 Respone Body 导致对问题的误判,谨记!


    2014-12-15日

    本文暂且叫这个名吧,由于不是非常理解 Selinux 。或许你有更好的办法请告知我!

    一、问题现象
    Nginx 启动后本机能够正常訪问,使用Curl 命令能够获取默认 index.html,其它界面均不可訪问。远程訪问server时提示 400 bad request 信息。检查Nginx用户权限和port都正常。iptables 未启动。
    # curl -I 123.123.123.123
    HTTP/1.1 200 OK
    Server: nginx
    Date: Mon, 15 Dec 2014 10:52:34 GMT
    Content-Type: text/html
    Content-Length: 12
    Last-Modified: Mon, 15 Dec 2014 10:00:36 GMT
    Connection: keep-alive
    Accept-Ranges: bytes
    检查文件夹时发现文件夹权限后缀都有个点。


    注意观察 html 文件夹下 50x.html 、default.html、index.html 这三个文件权限后的点以及 welcome.html 文件权限的区别。

    二、问题分析

    谷歌、度娘一番,终于结论为 selinux 保护文件夹都会在文件以及文件夹后有个点

    查询 selinux 状态

    $ sestatus
    SELinux status:                 enabled
    SELinuxfs mount:                /selinux
    Current mode:                   enforcing
    Mode from config file:          enforcing
    Policy version:                 24
    Policy from config file:        targeted
    查询 selinux 执行模式

    $ getenforce
    Enforcing 
    执行模式分为三种 enforcing (强制模式)、permissive(宽容模式)、disabled(关闭)

    三、问题处理

    既然分析问题可能出在 selinux ,那就尝试修复,修复方式分为两种暂时修复和永久修复!

    暂时修复,网上盛传方式。

    # setenforce 0 #关闭 Selinux
    # setenforce 1 #开启 Selinux
    实际上能够执行下试试效果,本人执行结果是在 enforcing 模式与 permissive 模式之间来回切换而已无不论什么效果,假设本人理解错误。请不吝赐教。

    永久方式,确实可用。须要重新启动server!

    1、改动 /etc/selinux/config 文件

    # vim /etc/selinux/config
    2、改动 SELINUX=disabled 。改动后内容

    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #       enforcing - SELinux security policy is enforced.
    #       permissive - SELinux prints warnings instead of enforcing.
    #       disabled - SELinux is fully disabled.
    SELINUX=disabled
    # SELINUXTYPE= type of policy in use. Possible values are:
    #       targeted - Only targeted network daemons are protected.
    #       strict - Full SELinux protection.
    SELINUXTYPE=targeted
    3、重新启动电脑查看 Selinux 状态,应该为关闭状态
    $ getenforce 
    Disabled

    四、问题总结

    1、未停止 Selinux 服务时,文件新增、改动文件夹都是带着点的,參见 default.html 和 index.html。

    2、停止 Selinux 服务后,文件新增将不受 Selinux 服务保护。也就是不带点了。參见 welcome.html。
    第一次处理 Selinux 问题,若实际问题与解决方式有出入请告知我,虚心学习!谢谢。

    感谢百度文库作者提供指导意见 


  • 相关阅读:
    Java实现 LeetCode 136 只出现一次的数字
    Java实现 LeetCode 136 只出现一次的数字
    Java实现 LeetCode 136 只出现一次的数字
    Java实现 LeetCode 135 分发糖果
    Java实现 LeetCode 135 分发糖果
    Java实现 LeetCode 135 分发糖果
    Java实现 LeetCode 134 加油站
    Java实现 LeetCode 134 加油站
    Java实现 LeetCode 134 加油站
    Java实现 LeetCode 133 克隆图
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5192366.html
Copyright © 2011-2022 走看看