NodeJS

2017-06-03 8 views
1

私は、次のオプションを使用して、ノードからAWSのAPiゲートウェイを呼んでいる中でのAWS APIゲートウェイのコールに認証を追加する方法:NodeJS

var post_options = { 
     host: 'myurl.execute-api.us-west-2.amazonaws.com', 
     port: '443' 
     path: '/staging/api', 
     method: 'POST', 
     headers: { 
      'Content-Type': 'application/json', 
      'Content-Length': Buffer.byteLength(post_data) 
     } 
    }; 

呼び出しは次のように行われます:

http.post(post_options, post_data, function(res){ 
      res.setEncoding('utf8'); 
      res.on('data', function(chunk) { 
       console.log(chunk); 
      }); 
     }); 
私は戻って取得

応答は次のとおりです。

<!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>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: Yl1rUhK7Bmaq57ckHvK1E32tqNqDs4GC078yek3_23_RMefXUGJAdA== 
</PRE> 
<ADDRESS> 
</ADDRESS> 
</BODY></HTML> 
name: undefined 
<!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>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: nJ3dotCRum8XudR6v0PinqzDjjPCX3N5TmoM2fNQSJK9BLn8jJEWqg== 
</PRE> 
<ADDRESS> 
</ADDRESS> 
</BODY></HTML> 

私が思うに、私はどんなauthenticatに合格しなかったので、私は「悪い要求」を取得していますイオン情報を私の電話に送る。 このような認証情報を追加する正しい構文は何ですか?

+1

APIエンドポイントでどのような認証を設定しましたか?設定していない場合は、何もありません。あなたのエラーは他のものです。 – Paul

+0

私の同僚がその部分を構成しました。私は彼と確認します。 –

+2

認証に関連する場合は、400(不正なリクエスト)を取得しません。 401(Unauthorized)または403(Forbidden)を取得します。あなたの要求が正しいかどうか確認してください。 –

答えて

0

API Gatewayはチャンクエンコーディングをサポートしていませんが、それはバックエンドで使用しようとしているものですか? APIゲートウェイを介して返される応答ヘッダーに、チャンクエンコーディングを使用する必要があることが示されている場合、問題が発生する可能性があります。

あなたはこのエラーを受けてはいけませんが、あなたのAPI /バックエンドに関する詳細を特定したいと思います。