DAY003 - API 配置文件缺失

举报
yd_287083129 发表于 2026/10/23 22:01:13 2026/10/23
【摘要】 故障场景故障现象:nginx 正常,API 请求返回 500,应用日志指向 api_config.env missing。服务器状态:server1:状态 INJECTED;开始时间 2026-07-14 07:02:42 +0000;影响范围 练习项目局部不可用,SSH 不受影响。。server2:状态 INJECTED;开始时间 2026-07-14 15:02:50 +0800;影响...

故障场景

故障现象:nginx 正常,API 请求返回 500,应用日志指向 api_config.env missing。

服务器状态:

server1:状态 INJECTED;开始时间 2026-07-14 07:02:42 +0000;影响范围 练习项目局部不可用,SSH 不受影响。。

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

项目结构如下:

排障过程

查看本地实际API返回

nginx网关正常

500错误是后端应用出问题,并且返回了

{"status": "error", "error": "api_config.env missing"}

应用在读取api_config.env时出问题了

检查应用日志

也指向env文件

去项目目录搜索api_config.env位置

没找到.env文件

查找代码相关词条的逻辑

grep -R -C 5 -n "api_config.env" app

-R递归在app代码目录寻找相关词条

-C 5寻找相关词条上5行、下5行的代码

代码逻辑也是对的

除了api_config.env文件不存在以外,还可能是文件位置放错了或者文件名写错了

应该用find寻找相关词条

find . -maxdepth 4 -type f | grep -Ei "env|config|api"

找到了,原来是变成了.bak文件,是cp用成了mv吗?

还要查看内容是否正确

确认没问题后再看是谁、什么时间干的

auditd、shell history、git都可以看,但我的练习项目暂时没有auditd、git,history也没开时间记录

先用stat

创建、内容修改、inode变化时间相隔2秒,最开始就没有去掉.bak

现在去掉.bak后缀

返回200

公网访问也没问题

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

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

全部回复

上滑加载中

设置昵称

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

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

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