问题描述
我有一个 HttpApi 与路由 GET /image/{proxy+} 的 lambda 函数集成,它适用于其他情况,但不适用于 https://2d2crccbre.execute-api.ap-south-1.amazonaws.com/image/200/men's-100%-cotton-printed-t-shirts.aa139410-d641-4cc6-8088-5ca647d3f1ee.jpeg
回复:
<html>
<head>
<title>400 Bad Request</title>
</head>
<body>
<center>
<h1>400 Bad Request</h1>
</center>
</body>
</html>
它甚至有效的是我从调用 URL 中删除了“%”,即 https://2d2crccbre.execute-api.ap-south-1.amazonaws.com/image/200/men's-100-cotton-printed-t-shirts.aa139410-d641-4cc6-8088-5ca647d3f1ee.jpeg
日志:
{
"requestId": "ak4ZfgqzhcwEJMg=","ip": "47.X.X.X","requestTime": "11/Feb/2021:10:31:11 +0000","path": "/image/200/men's-100-cotton-printed-t-shirts.aa139410-d641-4cc6-8088-5ca647d3f1ee.jpeg","error": "context.error.messageString","httpMethod": "GET","routeKey": "GET /image/{proxy+}","status": "200","protocol": "HTTP/1.1","responseLength": "22803"
}
我尝试了它的 URIEncoded 版本,但没有成功:https://2d2crccbre.execute-api.ap-south-1.amazonaws.com/image/200/men's-100%25-cotton-printed-t-shirts.aa139410-d641-4cc6-8088-5ca647d3f1ee.jpeg 但没有记录的情况下再次得到不同的响应
回复:
{
"message": "Bad Request"
}
日志格式:
{ "requestId":"$context.requestId","ip": "$context.identity.sourceIp","requestTime":"$context.requestTime","path": "$context.path","error":"context.error.messageString","httpMethod":"$context.httpMethod","routeKey":"$context.routeKey","status":"$context.status","protocol":"$context.protocol","responseLength":"$context.responseLength" }
我认为这是 Api Gateway 无法解析请求的错误。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)