我在AWS lambda上部署了微服务,在EC2实例上部署了node.js代码。
当我尝试从邮递员访问微服务API时,它给出了正确的响应。 但是,如果我从node.js代码调用相同的API,它将失败,并显示错误代码403。
错误-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML><HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>ERROR: The request could not be satisfied</TITLE>
</HEAD><BODY>
<H1>403 ERROR</H1>
<H2>The request could not be satisfied.</H2>
<HR noshade size="1px">
Bad request.
<BR clear="all">
<HR noshade size="1px">
<PRE>
Generated by cloudfront (CloudFront)
Request ID: TtGE8OD711qm0s6NPCNPl2ExUUJUa7l_J_-h5GDtPEWk4CFiWDkixg==
</PRE>
<ADDRESS>
</ADDRESS>
</BODY></HTML>
API是一个简单的GET API,例如
https://xxx.amazonaws.com/v1/session/verify_email_token?token=123456
我没有使用CloudFront,而是使用Https。
答案 0 :(得分:1)
以下解决方案对我有用- 将API网关端点从边缘优化更改为区域优化。