2017-04-02 6 views
0

AWS api gatewayを使用してHTTPコールを介してラムダ関数を呼び出すオプションを検討しています。私はマイクロサービスを提供する既存のNginxロードバランサを持っています。私は、AWSのAPIゲートウェイへのプロキシパスを追加する場所のブロックを追加しようとすると、proxy pass aws api gateway as existing nginx lb

location /foo { 
    proxy_pass <aws api gateway url>; 
} 

これは、IPなどにホスト名を解決している:10.20.30.40が、直接問い合わせるときにAWSのAPIゲートウェイが400不正な要求を返しますIPから。

既存のnginxサーバーからAWS APIゲートウェイを使用してラムダを呼び出す方法はありますか?

+0

ARNではなくデプロイ済みのURLを使用する場合は、これが機能しますか? –

+0

質問を編集しました、私はURLを使用しています。 –

答えて

0

IPでアクセスしようとすると、APIゲートウェイはエラーを返します。 APIに直接アクセスしているかのように、Hostヘッダーを送信するようにプロキシを構成する必要があります。 nginxの文書によると、これはproxy_pass_headerディレクティブによって実現されます。

+0

ありがとうございます。これを動作させるには 'proxy_ssl_server_name on'を追加してください。あなたが言及したように、サーバ名は渡されておらず、ヘッダを設定することができました。 –

関連する問題