文章来源: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 问题,若实际问题与解决方式有出入请告知我,虚心学习!谢谢。

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

Nginx 因 Selinux 服务导致无法远程訪问的更多相关文章

  1. 远程訪问路由器下的mac os(ssh+vnc)

    需求: 使用能够上网的外网pc(win7操作系统).远程訪问公网tp-link下的的mac电脑 环境: mac os -----tp-link-----------pc 工具: putty   Tig ...

  2. MySQL远程訪问的两个问题

    安装MySQL后,不能远程訪问.进行例如以下配置就可以 连接后,依旧不能连接,报例如以下错误: 1042 - Can't get hostname for your address 解决方法在my.i ...

  3. MYSQL加入远程用户或同意远程訪问三种方法

    加入远程用户admin密码为password GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY \'password\' WIT ...

  4. 怎样设置mysql远程訪问

     Mysql默认是不能够通过远程机器訪问的,通过以下的配置能够开启远程訪问 在MySQL Server端: 运行mysql 命令进入mysql 命令模式, mysql> use mysql; ...

  5. mysql设置远程訪问数据库的多种方法

    问题:MySQL权限设置正确,但仍无法远程訪问.通过telnet发现3306port未打开. 分析:MySQL默认仅仅绑定127.0.0.1,即:仅仅有在本机才干訪问3306port. 解决:找到My ...

  6. NGINX之——配置HTTPS加密反向代理訪问–自签CA

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46695495 出于公司内部訪问考虑,採用的CA是本机Openssl自签名生成的,因 ...

  7. Web.config中设置启用webservice远程调试訪问

    在.NET 中已经默认将webservice的远程调试功能关闭.有的时候我们须要远程调试程序的时候,就须要打开此功能我们仅仅需在webservice的项目的中添web.config的<syste ...

  8. 使用FREDATED引擎实现跨实例訪问

    跨数据库server.跨实例訪问是比較常见的一种訪问方式,在Oracle中能够通过DB LINK的方式来实现. 对于MySQL而言,有一个FEDERATED存储引擎与之相相应.相同也是通过创建一个链接 ...

  9. windows下通过VNC图形化訪问Ubuntu桌面环境

    要在windows下图形化訪问Ubuntu或其他Linux系统桌面环境有非常多方法.我比較喜欢的是使用VNC服务,须要在Ubuntu下安装vncserver和在windows下安装client訪问工具 ...

随机推荐

  1. mysql下的SELECT INTO语句

    在mysql下使用SELECT INTO语句会产生ERROR 1327 (42000): Undeclared variable:new_tablename 此时要使用: CREATE TABLE C ...

  2. HDU 1544 Palindromes(回文子串)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1544 问题分析: 问题要求求出字符串的连续子串中的回文子串个数.首先,需要区分连续子串与子序列的区别. ...

  3. SQL 语言划分

    从功能上划分,SQL 语言能够分为DDL,DML和DCL三大类. 1. DDL(Data Definition Language)     数据定义语言,用于定义和管理 SQL 数据库中的全部对象的语 ...

  4. C#语言基础之数据类型

    数据类型 1.值类型(1)整型:有符号整型和无符号整型. 区别是无符号整型要比有符号整型的正数范围大.2X+1 有符号整型:sbyte,short,int,long  带有正负数,范围按所写依次增大 ...

  5. runtime的概念,message send如果寻找不到相应的对象,如何进行后续处理

    运行时刻是指一个程序在运行(或者在被执行)的状态.也就是说,当你打开一个程序使它在电脑上运行的时候,那个程序就是处于运行时刻.在一些编程语言中,把某些可以重用的程序或者实例打包或者重建成为“运行库”. ...

  6. Expected stackmap frame at this location

    使用eclipse,本来使用的是jdk1.7的,后来切换到jdk1.8版本就出现了这个问题,报错的Reason说的是Expected stackmap frame at this location,其 ...

  7. js中去除换行(\r\n)

    解决方法:replace(/\r\n/g,"").replace("\n","") 测试: <script> var str = ...

  8. 我的Python成长之路---第六天---Python基础(18)---2016年2月20日(晴)

    os模块 提供对操作系统进行调用的接口 >>> import os >>> os.getcwd() # 获取当前工作目录,类似linux的pwd命令 '/data/ ...

  9. 升级到iis7 的web.config配置

    经典模式或集成模式都识别system.webServers节点 aspnet的isapi分32位和64位 不存在时会报404或403

  10. hibernate Annotation 以及注解版的数据关联 4.4

    目的是不写xxx.hbm.xml映射文件,使用注解 主配置文件还是要有hibernate.cfg.xml <?xml version="1.0" encoding=" ...