Getting 403 forbidden error when calling API from node.js code, whereas working fine from Postman
I have microservices deployed on AWS lambda and node.js code deployed on EC2 instance.
When I am trying to access the microservice API from postman it is giving the correct response.
But the same API if I call from node.js code, it fails with error code 403.
Error-
<!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>
The API is a simple GET API like
https://xxx.amazonaws.com/v1/session/verify_email_token?token=123456
I am not using CloudFront and I am using Https.
aws-lambda microservices aws-api-gateway
add a comment |
I have microservices deployed on AWS lambda and node.js code deployed on EC2 instance.
When I am trying to access the microservice API from postman it is giving the correct response.
But the same API if I call from node.js code, it fails with error code 403.
Error-
<!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>
The API is a simple GET API like
https://xxx.amazonaws.com/v1/session/verify_email_token?token=123456
I am not using CloudFront and I am using Https.
aws-lambda microservices aws-api-gateway
How does you response from lambda look like? Also, atleast in my Postman, the headers are automatically set. So make sure you set the headers in node aswell.
– squeekyDave
Nov 21 '18 at 14:14
For this API, we are not expecting any token in the header. I can run it from the browser as well.
– Poorvi Nigotiya
Nov 22 '18 at 7:44
add a comment |
I have microservices deployed on AWS lambda and node.js code deployed on EC2 instance.
When I am trying to access the microservice API from postman it is giving the correct response.
But the same API if I call from node.js code, it fails with error code 403.
Error-
<!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>
The API is a simple GET API like
https://xxx.amazonaws.com/v1/session/verify_email_token?token=123456
I am not using CloudFront and I am using Https.
aws-lambda microservices aws-api-gateway
I have microservices deployed on AWS lambda and node.js code deployed on EC2 instance.
When I am trying to access the microservice API from postman it is giving the correct response.
But the same API if I call from node.js code, it fails with error code 403.
Error-
<!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>
The API is a simple GET API like
https://xxx.amazonaws.com/v1/session/verify_email_token?token=123456
I am not using CloudFront and I am using Https.
aws-lambda microservices aws-api-gateway
aws-lambda microservices aws-api-gateway
asked Nov 21 '18 at 12:44


Poorvi NigotiyaPoorvi Nigotiya
156113
156113
How does you response from lambda look like? Also, atleast in my Postman, the headers are automatically set. So make sure you set the headers in node aswell.
– squeekyDave
Nov 21 '18 at 14:14
For this API, we are not expecting any token in the header. I can run it from the browser as well.
– Poorvi Nigotiya
Nov 22 '18 at 7:44
add a comment |
How does you response from lambda look like? Also, atleast in my Postman, the headers are automatically set. So make sure you set the headers in node aswell.
– squeekyDave
Nov 21 '18 at 14:14
For this API, we are not expecting any token in the header. I can run it from the browser as well.
– Poorvi Nigotiya
Nov 22 '18 at 7:44
How does you response from lambda look like? Also, atleast in my Postman, the headers are automatically set. So make sure you set the headers in node aswell.
– squeekyDave
Nov 21 '18 at 14:14
How does you response from lambda look like? Also, atleast in my Postman, the headers are automatically set. So make sure you set the headers in node aswell.
– squeekyDave
Nov 21 '18 at 14:14
For this API, we are not expecting any token in the header. I can run it from the browser as well.
– Poorvi Nigotiya
Nov 22 '18 at 7:44
For this API, we are not expecting any token in the header. I can run it from the browser as well.
– Poorvi Nigotiya
Nov 22 '18 at 7:44
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53412323%2fgetting-403-forbidden-error-when-calling-api-from-node-js-code-whereas-working%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53412323%2fgetting-403-forbidden-error-when-calling-api-from-node-js-code-whereas-working%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
How does you response from lambda look like? Also, atleast in my Postman, the headers are automatically set. So make sure you set the headers in node aswell.
– squeekyDave
Nov 21 '18 at 14:14
For this API, we are not expecting any token in the header. I can run it from the browser as well.
– Poorvi Nigotiya
Nov 22 '18 at 7:44