AWS网站遭入侵修复后出现500内部服务器错误求助
排查AWS修复后API Gateway 500内部服务器错误的实操步骤
1. 开启API Gateway日志定位错误根源
- 登录AWS控制台进入API Gateway服务,找到目标API(ID:
0io16pktb6,环境:dev) - 在API设置页开启CloudWatch日志记录,指定日志组并将日志级别设为
ERROR或INFO - 重新触发请求后,查看CloudWatch日志,获取具体错误栈(如权限缺失、Lambda执行失败、SES凭证无效等)
2. 验证关联Lambda函数的可用性
- 若API集成了Lambda,进入Lambda控制台查看对应函数的执行日志
- 检查Lambda执行角色权限:确认修复操作中未误删该角色的关联策略,或新创建的访问密钥已正确配置到Lambda环境变量
- 使用Lambda测试事件直接运行函数,验证函数本身能否正常返回结果
3. 核对SES新凭证的配置有效性
- 确认网站/后端服务已完全替换为新的SES SMTP用户名和密码,旧凭证已彻底移除
- 检查新凭证对应的IAM用户是否拥有
ses:SendEmail、ses:SendRawEmail等必要权限 - 通过命令行测试SES连通性,验证新凭证可用:
openssl s_client -crlf -connect email-smtp.us-east-1.amazonaws.com:587
4. 检查IAM权限与资源策略
- 确认API Gateway执行角色拥有访问后端依赖资源(Lambda、SES、数据库等)的完整权限,修复操作中未误删关键策略
- 查看API Gateway的资源策略,确认已允许
harperinspect.com作为合法Origin发起请求 - 验证新创建的访问密钥已正确配置到所有依赖服务(如后端应用环境变量、SDK配置文件)
5. 排查CORS配置问题
- 在API Gateway的CORS设置中,确认已添加
harperinspect.com到允许的Origin列表,且允许的HTTP方法、请求头与实际请求匹配 - 若API采用Lambda代理集成模式,检查Lambda函数是否返回了正确的CORS响应头(
Access-Control-Allow-Origin、Access-Control-Allow-Methods等)
6. 简化请求测试缩小范围
- 使用AWS控制台的API测试功能,直接发送请求查看详细错误信息
- 发送不带Origin头的请求排除跨域干扰:
curl -v "https://0io16pktb6.execute-api.us-east-1.amazonaws.com/dev"
内容的提问来源于stack exchange,提问作者Molly Harper
相关产品推荐
相关产品推荐

