Linux服务器访问不通?别只怪防火墙、90%的人都忽略了这个墙

端口开着,服务跑着,浏览器却打死进不去,多数人第一反应就是“firewall坑我”。

其实也怪不得防火墙,人家在门外守着,真正的隐形BOSS站屋里——SELinux。

别被这拗口的名字吓着,它干的事特别土:给每个文件和进程贴小纸条,写着“你能去哪儿、不能去哪儿”。

贴错了或者没贴,哪怕大门敞开也吃闭门羹。

最常见翻车现场:把网页扔到了/data/web,权限777,Nginx也起了,80口红红火火,访客端只收获404。

Conclusion?

SELinux一看文件标签“default_t”,跟Nginx的“httpd_sys_content_t”八字不合,直接拒签。

排查套路一句话:怀疑就先暂停它,不死就立刻找日志。

先执行`setenforce 0`让SELinux睡一会儿再访问——能开,八成是它;不能开,再赖防火墙。

接着翻底牌,用`ls -Z`看看文件标签是不是挂错位置;挂错了就两行命令扶正:

`semanage fcontext -a -t httpd_sys_content_t "/data/web?"`

`restorecon -Rv /data/web`

全部完事别忘了把保安叫回来:`setenforce 1`。

怕记不住?送个土口诀:闭嘴看日志,动手之前先宽松。

最忌讳一键关掉SELinux,等于为了走直线砸墙,下次撞进来的可能是跑车也可能是坦克。

所以下次80口死都不通,先别骂防火墙,查查那位闷不做声的隐形保安,或许只是一张纸条贴歪了。

原文链接:,转发请注明来源!