Getting 403 forbidden error when calling API from node.js code, whereas working fine from Postman












0















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.










share|improve this question























  • 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
















0















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.










share|improve this question























  • 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














0












0








0








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.










share|improve this question














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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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



















  • 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












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
});


}
});














draft saved

draft discarded


















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
















draft saved

draft discarded




















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

MongoDB - Not Authorized To Execute Command

How to fix TextFormField cause rebuild widget in Flutter

Npm cannot find a required file even through it is in the searched directory