DAY008 – nginx API 路径配置错误

举报
yd_287083129 发表于 2026/10/31 11:19:16 2026/10/31
【摘要】 故障场景故障现象:首页、nginx health、订单接口正常,但 /api/health 返回 404;直连 API health 正常服务器状态:server2:状态 INJECTED;开始时间 2026-07-19 22:01:49 +0800;影响范围 练习项目局部不可用,SSH 不受影响。。 排障过程先看项目文档## 真实项目结构- nginx 程序:`/usr/sbin/ngi...

故障场景

故障现象:首页、nginx health、订单接口正常,但 /api/health 返回 404;直连 API health 正常

服务器状态:

server2:状态 INJECTED;开始时间 2026-07-19 22:01:49 +0800;影响范围 练习项目局部不可用,SSH 不受影响。。

排障过程

先看项目文档

## 真实项目结构
- nginx 程序:`/usr/sbin/nginx`
- systemd 服务:`nginx.service`
- nginx 配置:`/etc/nginx/sites-available/hermes-day008.conf`
- nginx 启用配置:`/etc/nginx/sites-enabled/hermes-day008.conf`
- nginx 日志:`/var/log/nginx/hermes-day008-access.log`、`/var/log/nginx/hermes-day008-error.log`
- 应用目录:`/opt/hermes-drills/day008`
- API 程序:`/opt/hermes-drills/day008/app/api.py`
- API 启动脚本:`/opt/hermes-drills/day008/start-app.sh`
- API 日志:`/opt/hermes-drills/day008/logs/api.log`

## 端口
- nginx:`18080`
- API:`127.0.0.1:18081`

先看本地实际情况

首页访问成功

nginx health与订单接口正常

确实经过nginx转发的/api/health报404

直连后端的api健康接口却正常

说明后端api程序是正常的,需要着重检查nginx的配置

不急,先看看api.log日志咋写的

我nginx配置中有missing-health相关配置

利用grep快速寻找关于missing-health的配置在哪一行

后补:这里还应该看API代码实际是怎么加载的,然后改成对应的格式,不能默认就猜人家程序里写的是health

api.py中确实是/health后缀

给sites-available和sites-enabled改回匹配的health即可

reload一下nginx就行了

本地和远程都可以访问

寻找根因

我开了日志审计,可以使用下面的命令寻找谁、何时修改了站点文件,致使发生404错误

sudo ausearch \
-k nginx_watch \
-i \
| grep -E "time->|uid=|auid=|comm=|exe=|proctitle="

实在太长太杂,不是人工输入的命令,像是脚本

19:16~22:02时间出现关键可疑命令:

proctitle=install -m 0644 -o root -g root /tmp/tmp.a41QtUtZ3T /etc/nginx/sites-available/hermes-day008.conf
proctitle=rm -f /etc/nginx/sites-available/hermes-day008.conf
install -m 0644 -o root -g root /tmp/tmp.vdhPBQCAXK /etc/nginx/sites-available/hermes-day008.conf
rm -f /etc/nginx/sites-available/hermes-day008.conf
install -m 0644 -o root -g root /tmp/tmp.wKT1l4yJ9y ...

执行账号:

auid=monika

实际权限:

uid=root

命令:

install

不是:

vim
nano
sed
cat >

疑似AI远程或者脚本所为

现在追查源头/tmp/tmp.a41QtUtZ3T

hsitory即使不找/tmp/tmp.a41QtUtZ3T,用history | grep nginx也找不到可疑点,说明404制造者没有手动操作终端。/tmp中也没有相关文件

大概率为远程AI或者脚本使用monika账户制造的404故障,可疑行为集中在2026/07/19 19:16~22:02

原文首发于个人博客:liujixiang.de5.net

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。