Nginx 因 Selinux 服务导致无法远程访问

解决SELinux阻止Nginx访问服务 在使用 yum 安装 nginx 后可能会出现配置完成后却无法访问的问题,查看 audit.log 会发现类似于以下的错误信息 出现此问题的原因是 SELinux 基于最小权限原则默认拦截了 Nginx 的请求,SELinux 是 Linux 的安全子系统,提供更安全的访问控制,许多运维人员嫌麻烦可能会直接关闭此组件,但是治标不治本,本文演示在启用 SELinux 基础上完成对 Nginx 请求的放行。 首先我们需要确认 SELinux 的运行状态,当然出现此问题肯定是运行中。 [root@cento 阅读详情

文章来源:http://blog.youkuaiyun.com/johnnycode/article/details/41947581


2014-12-16日

昨天晚上处理好的网络访问连接,早晨又访问不到了!

现象是Nginx可以获得 Respone Head信息,但Respone Body信息间歇性可以获取,Nginx配置为监听80端口,iptables 和 selinux 服务停止状态!

最终的处理结论是某IDC要求80端口必须申请白名单才可以访问,因为可以间歇性获取 Respone Body 导致对问题的误判,谨记!


2014-12-15日

本文暂且叫这个名吧,因为不是很理解 Selinux ,也许你有更好的办法请告知我!

一、问题现象
Nginx 启动后本机可以正常访问,使用Curl 命令可以获取默认 index.html,其他界面均不可访问。远程访问服务器时提示 400 bad request 信息,检查Nginx用户权限和端口都正常,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 模式之间来回切换而已无任何效果,如果本人理解错误,请指教!

永久方式,确实可用,需要重启服务器!

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 问题,若实际问题与解决方案有出入请告知我,虚心学习!谢谢!

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


不要一上来就关闭SELinux了,10分钟带你搞懂 SELinux 是什么鬼? 今天分享一下SELinux。 阅读详情

相关推荐

Nginx搭建文件下载服务器

1、修改配置文件: 2、修改好配置文件后,创建相对应的目录3、重启nginx,访问页面http://localhost:80/注意:如果访问页面报403的错误,这个是因为权限的问题,首先这里我们修改了启动nginx的用户为root,root的最高权限账户,所以不存在用户权限的问题,那么这里的权限问题就是SELINUX导致的,把它禁用了就可以了。方法是修改配置文件"/etc/selinux/config",如下:A服务器访问B服务器目录下的文件1、两台服务器都需要安装nginx,且nginx配置如下:A服

wd520521的博客 8266

在开启 selinux 和配置防火墙的情况下安装和使用 nginx

如果依然有问题,查看防火墙是否添加了端口,如果添加了,如果一切正常, 那么考虑是。根据日志对应的处理, 如果还解决不了, 继续。导致的错误, 再次开启。

galoiszhou的博客 2251

Nginx 无法转发本地端口

本文主要分析解决 centos 下 nginx 配置端口转发后不生效,通过 nginx 配置 server 转发后,无法达到预期的转发目的,并出现502错误的问题。将配置文件修改后,重新访问 http://192.168.0.8 看是否能正确的转发到 http://192.168.0.8:8080 地址。然后重启你的虚拟机 reboot,经过以上二步后 nginx 无法转发本地端口的问题将得到彻底解决。经过修改后,再次访问 http://192.168.0.8 能正常转发到百度,那么说明了一个问题,

hwx865的专栏 1762

SELINUX阻止NGINX服务访问,超详细解决方法!!!

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

c18092694487t的博客 6813

NUS-WIDE-10K数据集制作

NUS-WIDE是一个多标签数据集,数据集中一共包含26,9648个样本,可以分为81个类。最近在做跨模态检索项目,发现有很多论文里面都用到了NUS-WIDE-10K数据集,但是在网上也没有搜索到相关的数据集下载链接或者是数据集制作代码,所以自己动手写了一个NUS-WIDE-10K数据集的制作代码。 1.介绍 我在网上找到的最早关于NUS-WIDE-10K数据集描述的论文是:Cross-modal Retrieval with Correspondence Autoencoder。描述如下:作者选择了N

weixin_44012382的博客 4200

Keil C51里用printf打印数据,为啥总出乱码?手把手教你%bd、%hd、%ld的正确用法

本文深入解析Keil C51中printf打印数据出现乱码的根本原因,并提供格式符%bd、%hd、%ld的正确用法指南。通过详细的调试技巧和实战案例,帮助开发者解决串口输出问题,提升单片机开发效率。

weixin_26854829的博客 281

nginx与SElinux

前言:[root@minimal ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@minimal ~]# nginx -v nginx version: nginx/1.12.1 在设置nginx虚拟机的时候,路径,php解析、文件权限都已经配置好了,但还是出现访问受限,查看nginx错误日志(www-da

阳水平的博客 4650

从FPGA工程师视角看CXP-12:如何用Xilinx GTX/GTH收发器搞定一条50Gbps的工业相机数据流?

本文从FPGA工程师视角详细解析了如何利用Xilinx GTX/GTH收发器实现50Gbps的CXP-12工业相机数据流传输。通过协议分析、硬件设计要点和FPGA逻辑实现,帮助开发者高效构建高带宽工业视觉系统,特别适合4K/8K高分辨率图像处理需求。

weixin_42533622的博客 281

Selinux给nginx静态文件授权目录

Selinux给nginx静态文件授权目录 背景:在我们安装好nginx之后,nginx默认访问题是OK的,但配置了自己的网页静态html之后,访问就变成了403,无法访问,检查了nginx所有权限都是对的,如(1)nginx启动用root,(2)网页html路径都存在,(3)网页html路径对应的nginx启动用户都有访问权限;这个时间自己的网页还报403,肯定是Selinux安全做了拦截

专注技术交流、咨询 932

A股历史数据免费下载终极指南:4000+个股数据一键打包获取

本文提供了获取A股历史数据的完整免费方案,重点介绍了Tushare Pro、AkShare等开源金融数据API的使用方法。通过详细的Python脚本示例,指导读者如何自动化批量抓取、清洗、存储4000多只个股的历史行情数据,并分享数据质量校验与性能优化技巧,助力量化研究与市场分析。

ooo22的博客 2231

如何使用superpowers

"这个 bug 帮我修一下" → 我会自动走 systematic-debugging → TDD → verify 流程。- "帮我添加一个登录功能" → 我会自动走 brainstorming → plan → TDD → verify 流程。只要任务有 1% 的可能性适用某个技能,我就会先调用它再行动。→ TDD(测试驱动开发)→ verification(验证)→ code review(代码审查)提出需求 → brainstorming(头脑风暴)→ writing-plans(编写计划)

xiaojingjianqiang的博客 610

selinux与nginx

selinux作用 管理进程的权限,规定了某个应用程序设定了你可以访问那些文件或目录 selinux状态查看,设置 查看:sestatus,getenforce 设置: 临时关闭(permissive状态),setenforce=0 永久关闭(disabled),修改/etc/selinux/config文件中设置 SELINUX=disabled ,然后重启服务器...

atzqtzq的博客 358

24. 在QML界面中嵌入QWidget窗口

目前QT官方主推的界面开发方式是采用QML进行界面设计,但在QML未流行之前,很多的项目都是采用QWidget开发的,把之前的代码全部转换为QML代码显然工作量非常大,如果能将QWidget窗口嵌入到QML界面中,那么开发效率将提高很多,且QML无法实现的功能也能借助于QWidget框架进行实现。

山间点烟雨 5921

Nginx因Selinux服务导致无法远程访问

1、我自定义域名,本机测试,在/etc/hosts文件末尾添加: 192.168.43.228 www.imooc.test 2、Nginx 启动后本机可以正常访问,使用Curl 命令可以获取默认 index.html,Curl命令访问域名时不可访问,报错403。 curl -I localhost 此时能正常访问...

m0_37732829的博客 709

044、手持视频抖动严重?OpenCV 光流 + IMU 融合的电子防抖工程方案

本文探讨了基于OpenCV光流和IMU融合的手持视频电子防抖方案。作者从实际工程经验出发,分析了纯光流和纯IMU方案的局限性,指出时间戳对齐和坐标系标定是关键挑战。文章详细介绍了融合滤波器的实现方法,推荐互补滤波替代卡尔曼滤波,并提出了动态调整融合系数的策略。在光流算法优化方面,建议采用网格化FAST特征点和前后向误差检测。最后分享了运动补偿裁剪策略和多线程流水线设计,强调在嵌入式设备上使用NEON指令优化性能。该方案通过精确的时间同步和传感器融合,有效解决了手持拍摄中的高频抖动问题。

ai技术增长的博客 250

C++和OpenGL实现3D游戏编程【连载7】——文字和汉字的显示(附源码)

上一节我们讨论了纹理在二维平面内不规则图形贴图的相关基础操作,本节我们开始了解游戏里文字以及汉字的显示方法。本节课我们将从基本的ASCII字符显示,拓展到中文字符的显示,最后再讲到纹理字符的显示,并对各种文字显示方法的优缺点和使用场景进行分析,这节课将使用到显示列表、兼容视图、屏幕图形转纹理等操作。

zhooyu的博客 1498

Nginx 因 Selinux 服务导致无法远程訪问

文章来源:http://blog.youkuaiyun.com/johnnycode/article/details/41947581 2014-12-16日 昨天晚上处理好的网络訪问连接。早晨又訪问不到了。 现象是Nginx能够获得 Respone Head信息,但Respone Body信息间歇性能够获取,Nginx配置为监听80port。iptables 和 selinux 服...

weixin_33826268的博客 164

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Nginx 因 防火墙,iptables,ftp/sftp,Selinux 服务导致无法远程访问及传输修改文件的问题

chkconfig iptables off 永久关闭防火墙 service iptables stop 临时关闭 service iptables start 临时开启 在虚拟机的Linux上安装好Nginx后,启动Nginx服务,在Linux环境下,输入ip直接可以访问到Nginx的欢迎界面,而在电脑本地访问不到界面,出现错误。 这种情况下,一般是Linux系统的防火墙需要配置...

sh_c1314 1612

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SELinux简介/SELinux 导致 Nginx 启动失败解决方案

getenforce-------查看当前 SELinux 的运行工作模式。

2303_82039857的博客 219

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

深入理解 SELinux:通过 Nginx 和 SSH 服务配置实践安全上下文与端口策略

本文通过三组实验演示 SELinux 在服务配置中的核心应用

持续更新~ 1892

当NGINX遇上SELinux:安全策略与服务重启的博弈论

本文深入探讨了NGINX在SELinux安全策略下的服务重启问题,提供了详细的排查方法和解决方案。通过分析安全上下文、审计日志和自定义策略模块,帮助管理员在保障系统安全的同时确保NGINX稳定运行,特别针对PID冲突和重启失败等常见问题给出了实用修复方案。

rnn9storyteller的博客 1026

NGINX中遇到SELinux 13:permission denied

被selinux坑了。抓包发现端口始终没有流量, 操作过程中还特地dmesg看了c并没发现selinux的异常。 https://www.nginx.com/blog/using-nginx-plus-with-selinux/ https://blog.youkuaiyun.com/aqzwss/article/details/51134591 When you upgrade a running syst...

weixin_30779691的博客 888

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

在使用 yum 安装 nginx 后可能会出现配置完成后却无法访问的问题,查看 audit.log 会发现类似于以下的错误信息audit.log出现此问题的原因是 SELinux 基于最小权限原则默认拦截了 Nginx 的请求,SELinux 是 Linux 的安全子系统,提供更安全的访问控制,许多运维人员嫌麻烦可能会直接关闭此组件,但是治标不治本,本文演示在启用 SELinux 基础上完成对 N...

weixin_42521276的博客 1254

一次 Nginx 502 问题的深度排查:从 SELinux 到容器网络

SELinux(Security-Enhanced Linux)是 Linux 内核的安全模块,提供强制访问控制(MAC)。每个进程和文件都有安全上下文(类型),策略定义了它们之间的交互权限。),其策略允许监听端口、读取静态文件,但默认限制向外发起 TCP 连接,以避免被入侵后作为跳板攻击内网。返回正常 HTML,证实容器服务工作正常,问题出在 Nginx 与容器之间的通信。:开启后 Nginx 可以访问外部网络,但一般场景下(如代理本机端口)风险较低。端口(HTTPS)的请求反向代理到容器的。

donoot的博客 660

centos7 nginx(403)之SElinux

你是不是和我遇到的情况一样?把setenforce设置为0时,页面可以访问,设置为1时不可以访问并出现403 今天就来说一下如何查找并修改,即使selinux设为1时,也能通过。 准备 win10 ,虚拟机,centos7,nginx1.180版本,一些查看SElinux命令,有一定selinux基础 基本思路 ①:配置好nginx.conf ②:查看当前SElinux有关信息 ③:查看主进程type和要访问文件的type ④:在主进程中查到能够读取的文件类型 ⑤:分析错误 ⑥:修改并调试 配置好ng

qq_42683219的博客 1116
上一篇: 【智能家居】Raspberry Pi GPIO接口篇
下一篇: 通过GeoIP2分析访问者IP获取地理位置信息
王吉军
博客等级 码龄19年 94粉丝 56原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值