记一次 Nginx 多站点配置踩坑实录:路由串台与 SELinux 403 拦截排查(Rocky9)

发布时间:2026/11/14 4:07:02

记一次 Nginx 多站点配置踩坑实录:路由串台与 SELinux 403 拦截排查(Rocky9) 记一次 Nginx 多站点配置踩坑实录路由串台与 SELinux 403 拦截排查一、 故障背景与环境操作系统Rocky Linux 9Web 服务Nginx 1.20.1目标架构配置基于域名的虚拟主机。访问专属域名mytest.com➡️ 返回默认站点/usr/share/nginx/html。访问其他任意域名或直接使用 IP 访问 ➡️ 返回自定义的兜底站点/var/www/default。二、 故障一路由“串台”所有请求均返回默认欢迎页1. 故障现象配置完两个server块并执行systemctl reload nginx重新加载服务后进行测试curl-HHost: mytest.comhttp://127.0.0.1# 预期欢迎页curlhttp://127.0.0.1# 预期自定义兜底页实际结果两条命令均返回了 Nginx 原生的默认欢迎页自定义兜底页未生效。2. 排查思路与过程面对“路由串台”我采用了分层排查与控制变量法应用层验证执行nginx -t提示语法正常。但为了排除热加载reload未完全生效的极端情况我执行了systemctl restart nginx重启服务强制重启问题依旧。检查配置细节仔细核对兜底server块的root指令发现路径被误写为root /var/www/default/html;对比实际物理路径通过ls -ld /var/www/default检查发现实际存在的目录是/var/www/default并不存在html这个子目录。推导结论由于root路径指向了一个不存在的目录Nginx 无法在该块中正确找到index.html。在复杂的虚拟主机匹配和隐式默认规则下请求未能按预期返回自定义页面而是落入了原生的默认欢迎页配置中。3. 解决方案修正root路径去掉多余的/htmlroot /var/www/default;执行nginx -t检查语法并systemctl reload nginx重载配置。再次通过 IP 访问此时 Nginx 成功匹配到了正确的物理目录但页面并未正常显示而是抛出了新的错误403 Forbidden。三、 故障二访问兜底页面报 403 Forbidden1. 故障现象解决路由问题后通过 IP 访问兜底站点curl返回403 Forbidden。2. 排查思路与过程403 错误通常意味着“请求已到达服务器但被拒绝访问”。我按照“文件系统权限 ➡️ 系统安全策略”的顺序进行排查基础文件系统权限排查ls-ld/var/www/default# 目录权限 drwxr-xr-x (正常)ls-l/var/www/default/index.html# 文件权限 -rw-r--r-- (正常)权限配置完全符合 Nginx 运行用户nginx的读取要求排除基础权限问题。系统安全层SELinux排查Rocky 9 默认开启 SELinuxEnforcing 模式它会在基础权限之上进行强制访问控制MAC。临时宽容测试执行setenforce 0后访问立刻恢复正常执行setenforce 1恢复严格模式后再次 403。确诊为 SELinux 拦截。检查安全上下文标签执行ls -Zd /var/www/default输出unconfined_u:object_r:default_t:s0 /var/www/default发现该目录的标签为default_t。而 Nginx 进程httpd_t只被允许读取带有httpd_sys_content_t标签的 Web 目录。由于是我手动新建的目录SELinux 没有自动为其分配正确的 Web 标签。3. 解决方案生产环境最佳实践很多新手会选择直接永久关闭 SELinux但这在生产环境中是严重的安全违规。我采用了semanage工具进行永久且规范的上下文修复安装 SELinux 策略管理工具sudodnfinstallpolicycoreutils-python-utils-y添加目录及其子文件的上下文规则sudosemanage fcontext-a-thttpd_sys_content_t/var/www/default(/.*)?刷新并应用规则sudorestorecon-Rv/var/www/default最终验证确保 SELinux 处于 Enforcing 状态getenforce再次访问页面正常显示。故障二完美解决。四、 复盘与避坑指南1. 排查思维总结路由异常不要只盯着自己写的配置当出现“串台”或未按预期返回时一定要仔细核对root物理路径是否真实存在并排查include引入的“幽灵文件”如conf.d/*.conf确保default_server的全局唯一性。403 异常建立条件反射。在 RHEL/CentOS/Rocky 系系统中只要基础权限rwx没问题却报 403第一嫌疑人永远是 SELinux。2. SELinux 修复规范❌ 错误做法setenforce 0临时或修改/etc/selinux/config为 disabled永久关闭。这会留下巨大的安全隐患。✅ 正确做法使用semanage fcontext定义规则配合restorecon刷新生效。这才是标准姿势。
延伸阅读

更多相关文章

2026/11/14 7:30:53

Website-downloader 终极指南:3分钟掌握完整网站下载技巧

Website-downloader 终极指南:3分钟掌握完整网站下载技巧 【免费下载链接】Website-downloader 💡 Download the complete source code of any website (including all assets). [ Javascripts, Stylesheets, Images ] using Node.js 项目地址: https…

2026/11/14 9:43:05

电工证的分类和等级通过率揭秘:学历不高也能报名吗?

电工证的分类和等级通过率揭秘:学历不高也能报名吗? 你是不是也担心自己学历不高,考电工证连报名资格都没有?别急,今天咱们就来聊聊【电工证的分类和等级】,顺便揭开【通过率揭秘】,看看学历真的那么重要吗?…

2026/11/14 9:43:05

工地太忙根本没时间复习考试?利辛报考电工证在哪里值不值得考

工地太忙根本没时间复习考试?利辛报考电工证在哪里值不值得考 工地上的节奏快,任务紧,每天都在赶工期,谁还有时间去复习考试?尤其是像你这种一线班组负责人,天天带着人干活,根本顾不上自己考证的事。但你知道吗? 利辛报考电工证在哪里…

2026/11/14 9:43:05

怀集电工证报考流程多久拿证 电工证不考真找不到工作

怀集电工证报考流程多久拿证 电工证不考真找不到工作 电工证不考真找不到工作,现在各行各业对特种作业操作证的要求越来越严格,尤其是像你这种在工地、工厂一线干活的,没有电工证根本不敢上岗。别看你现在还在等,等你等到岗位都被人占了,再回头来找证,…

2026/11/14 9:43:05

电工证怎么转入公司,真实经历告诉你怎么操作

电工证怎么转入公司,真实经历告诉你怎么操作 证书过期了不知道怎么复审延期,这事儿我真干过。去年在信阳浉河区做项目现场管理员时,我手下的一个电工小李,因为公司调动没及时把他的电工证转到新单位,结果证到期了还没来得及复审,项目暂停了整整两周,损…

2026/11/13 22:33:32

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/14 0:06:39

土木特种工考证官方报名入口怎么找 之前考的证在外省能不能转过来

土木特种工考证官方报名入口怎么找 之前考的证在外省能不能转过来 之前考的证在外省能不能转过来?这个问题我太熟悉了,作为一名干了十几年的特种作业证书办理从业者,每年都会遇到不少像你一样在外地考了证,回来却发现无法直接使用的学员。别急,今天我就…

2026/11/14 0:06:39

电工证要多久多钱保姆级教程:工地太忙根本没时间复习考试

电工证要多久多钱保姆级教程:工地太忙根本没时间复习考试 工地太忙根本没时间复习考试,你不是一个人。在信阳浉河区,很多刚进入工地的电工都面临这样的困境:工作强度大,时间碎片化,根本没有系统复习考试的机会。但电工证是上岗的硬门槛,…

2026/11/13 22:32:11

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/13 12:14:39

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑