Linux开启SELinux的情况下怎么解决nginx403跟502错误

https://www.cnblogs.com/caijt/p/10978324.html

以上篇博客中说了怎么在linux部署asp.net core  跟 nginx,里面成功的前提是把SElinux关了,SELinux一开,确实出现很多莫名奇妙的问题,我网上查,大多数的解决方法也是教你把SElinux关了。

我研究了下怎么在不关SELinux的情况下,Nginx还能正常地使用。

先说下SElinux是什么,其实我也看不太懂,不过我了解了一点规则

先说下两个命令跟参数
ps -Z
ls -Z
注意Z参数可以显示出SElinux的信息

如下图红圈,第一个是进程的SElinux信息,第二个是文件的SElinux,system_u是用户,object_r是用色,http_t是类型,这个类型比较重要,其它的好像没啥影响

就直接点说nginx来说,这个进程只能访问httpd_sys_content_t类型的文件,所以如果出现403的话,就是你的www目录的类型不对,所以得把www目录设置成httpd_sys_content_t类型

semanage fcontext -a -t httpd_sys_content_t ‘/var/www(/.*)?‘

这样一般就能解决SELinux导致的403问题了

后面我又遇到了一个问题,在nginx里我有设置了 /api转发到http://localhost:5000,可一直返回502的错误,我知道又是SElinux的问题

经过我不断地百度

终于让我找到这个博客,这真的是百度上为数不多的不教人关掉SElinux的教程,值得点赞 https://www.jianshu.com/p/ae3f8a8ca54f

setsebool -P httpd_can_network_connect 1

好了,这样Nginx就可以愉快地跟Selinux相处了!

原文地址:https://www.cnblogs.com/caijt/p/10982470.html

时间: 2024-08-29 05:19:11

Linux开启SELinux的情况下怎么解决nginx403跟502错误的相关文章

linux系统root密码遗忘的情况下的解决办法

机房一台centos系统的服务器,由于这台服务器的系统装了好长时间,且root密码中间更新过几次,后面去机房现场维护时,登陆密码遗忘了,悲催啊~ 没办法,只能开机进入“单用户模式”进行密码重置了. 下面记录了开机进入“单用户模式”修改密码的过程: (1)重启服务器,等到Booting CentOS界面.迅速按下enter键: (2)在GRUB界面,按下e键(其实,开机后我是一直按e键也可以到下面的界面): (3)在 root(hd0,0)界面选择第二项 kernel 项,按下e键: (4)在<R

Kali Linux ——在无网络情况下安装无线网卡驱动

1.背景: 今日刚刚开始学习kali linux,众所周知,安装完成后,系统是没有无线网卡驱动的,这就对学生党造成相当的困扰:校园网要连接有线是需要认证客户端的,而认证客户端只有windows端,如此一来,无线网也连不上,有线网也连不上,这就......很尴尬. 因此我走访各大博客,虽然没能直接解决问题,但也给了我一定的启发,最终摸索出一条不难实现的道路. 在此我将分享自己解决问题的过程,希望能对有需要的读者有所帮助. 2.操作环境: 我的电脑是      联想ThinkPad E431 无线网

linux 无外网情况下安装 mysql

由于工作需要,需要在一台装有 CentOS 系统的测试服务器上安装 MySQL ,由于该服务器上存有其他比较重要的测试数据,所以不能连接外网.由于之前安装 MySQL 一直都是使用 yum 命令一键搞定的,所以手动安装的话还是有些麻烦的.所以在这里我将我在安装过程中遇到的一些问题记录下来. 1.需求就不用讲了,客户现场,政府环境,银行环境,大多是没网的,所以无网安装是很有必要的 mysql下载路径:https://dev.mysql.com/downloads/mysql/ 查看自己Linux系

linux在不关机情况下新增硬盘的方法

开机状态插入硬盘 不关机执行命令 echo "- - -" > /sys/class/scsi_host/host0/scan 注意 echo "- - -" - 中间有空格 fdisk -l 或者 lsblk 查看是否查找到新增的硬盘 如果没有生效,尝试把 host0 替换成 host1 或者 host2 等尝试 发现硬盘fdisk分区使用或者加入lvm 注: 本方法在 centos 7.5 下经过测试有效,其他linux系统未知 原文地址:https://

Linux开启vsftpd服务文件删除的解决办法

 [背景] 一个朋友项目上用FTP服务进行文件的上传.下载,但是无法删除. [问题跟踪] 用FTP客户端工具连接后,发现也是无法删除. [解决办法] 查看cat /etc/vsftpd.config文件发现: local_umask=022 将这个值改成: local_umask=002 重启vsftp服务后(service vsftpdrestart)正常.

Linux在丢失的情况下重置密码

1.开机菜单是 移动光标到第一行 --敲击e 2.找到UTF-8,加上空格rd.break,敲击ctrl+x 3.输入以下命令 mount -o remount,rw /sysroot chroot /sysroot echo "wz123." | passwd --stdin root touch /.autorelable exit exit(reboot) 原文地址:https://www.cnblogs.com/tong916790052/p/11666935.html

BAD_ACCESS在什么情况下出现?如何调试BAD_ACCESS错误

1. 访问一个僵尸对象,访问僵尸对象的成员变量或者向其发消息 死循环 2. 设置全局断点快速定位问题代码所在行 开启僵尸对象调试功能  

linux之SELinux

SELinux 概述:SELinux 全称Security Enhanced Linux(安全性增强的Linux),由美国国家安全局NSA(National Security Agency)开发,构建亍kernel 乀上的.拥有灵活而强制性的访问控制结构,旨在提高Linux 系统的安全性,提供强健的安全保证,可防御未知攻击,据称相当亍B1级的军事安全性能:已经被整合到2.6 以上kernel 中:传统Linux 在没有SELinux 保护的时候,倘若运行亍乀上的服务被骇客攻陷,其服务器最高权限就

无归档情况下使用BBED处理ORA-01113错误

在丢失归档情况下,恢复时常会遇到ora-01113错误,以下实验模拟表空间offline,然后在丢失归档文件的情况下使用BBED修改文件头信息,最后恢复数据文件: 数据库版本: SQL> select * from v$version; BANNER -------------------------------------------------------------------------------- Oracle Database 11g Enterprise Edition Rele