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 问题,若实际问题与解决方式有出入请告知我,虚心学习!谢谢。
Nginx 因 Selinux 服务导致无法远程訪问的更多相关文章
- 远程訪问路由器下的mac os(ssh+vnc)
需求: 使用能够上网的外网pc(win7操作系统).远程訪问公网tp-link下的的mac电脑 环境: mac os -----tp-link-----------pc 工具: putty Tig ...
- MySQL远程訪问的两个问题
安装MySQL后,不能远程訪问.进行例如以下配置就可以 连接后,依旧不能连接,报例如以下错误: 1042 - Can't get hostname for your address 解决方法在my.i ...
- MYSQL加入远程用户或同意远程訪问三种方法
加入远程用户admin密码为password GRANT ALL PRIVILEGES ON *.* TO admin@localhost IDENTIFIED BY \'password\' WIT ...
- 怎样设置mysql远程訪问
Mysql默认是不能够通过远程机器訪问的,通过以下的配置能够开启远程訪问 在MySQL Server端: 运行mysql 命令进入mysql 命令模式, mysql> use mysql; ...
- mysql设置远程訪问数据库的多种方法
问题:MySQL权限设置正确,但仍无法远程訪问.通过telnet发现3306port未打开. 分析:MySQL默认仅仅绑定127.0.0.1,即:仅仅有在本机才干訪问3306port. 解决:找到My ...
- NGINX之——配置HTTPS加密反向代理訪问–自签CA
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46695495 出于公司内部訪问考虑,採用的CA是本机Openssl自签名生成的,因 ...
- Web.config中设置启用webservice远程调试訪问
在.NET 中已经默认将webservice的远程调试功能关闭.有的时候我们须要远程调试程序的时候,就须要打开此功能我们仅仅需在webservice的项目的中添web.config的<syste ...
- 使用FREDATED引擎实现跨实例訪问
跨数据库server.跨实例訪问是比較常见的一种訪问方式,在Oracle中能够通过DB LINK的方式来实现. 对于MySQL而言,有一个FEDERATED存储引擎与之相相应.相同也是通过创建一个链接 ...
- windows下通过VNC图形化訪问Ubuntu桌面环境
要在windows下图形化訪问Ubuntu或其他Linux系统桌面环境有非常多方法.我比較喜欢的是使用VNC服务,须要在Ubuntu下安装vncserver和在windows下安装client訪问工具 ...
随机推荐
- mysql下的SELECT INTO语句
在mysql下使用SELECT INTO语句会产生ERROR 1327 (42000): Undeclared variable:new_tablename 此时要使用: CREATE TABLE C ...
- HDU 1544 Palindromes(回文子串)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1544 问题分析: 问题要求求出字符串的连续子串中的回文子串个数.首先,需要区分连续子串与子序列的区别. ...
- SQL 语言划分
从功能上划分,SQL 语言能够分为DDL,DML和DCL三大类. 1. DDL(Data Definition Language) 数据定义语言,用于定义和管理 SQL 数据库中的全部对象的语 ...
- C#语言基础之数据类型
数据类型 1.值类型(1)整型:有符号整型和无符号整型. 区别是无符号整型要比有符号整型的正数范围大.2X+1 有符号整型:sbyte,short,int,long 带有正负数,范围按所写依次增大 ...
- runtime的概念,message send如果寻找不到相应的对象,如何进行后续处理
运行时刻是指一个程序在运行(或者在被执行)的状态.也就是说,当你打开一个程序使它在电脑上运行的时候,那个程序就是处于运行时刻.在一些编程语言中,把某些可以重用的程序或者实例打包或者重建成为“运行库”. ...
- Expected stackmap frame at this location
使用eclipse,本来使用的是jdk1.7的,后来切换到jdk1.8版本就出现了这个问题,报错的Reason说的是Expected stackmap frame at this location,其 ...
- js中去除换行(\r\n)
解决方法:replace(/\r\n/g,"").replace("\n","") 测试: <script> var str = ...
- 我的Python成长之路---第六天---Python基础(18)---2016年2月20日(晴)
os模块 提供对操作系统进行调用的接口 >>> import os >>> os.getcwd() # 获取当前工作目录,类似linux的pwd命令 '/data/ ...
- 升级到iis7 的web.config配置
经典模式或集成模式都识别system.webServers节点 aspnet的isapi分32位和64位 不存在时会报404或403
- hibernate Annotation 以及注解版的数据关联 4.4
目的是不写xxx.hbm.xml映射文件,使用注解 主配置文件还是要有hibernate.cfg.xml <?xml version="1.0" encoding=" ...