DAY003 - API 配置文件缺失
【摘要】 故障场景故障现象: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)