私は残りのAPIアプリケーションにhttpプロキシとしてAWS API Gatewayを使用しています。 問題は、クライアントのIPアドレスを取得する方法や、APIのゲートウェイからアプリケーションに渡す方法が見つからないようです。 私が見た唯一の方法は、ラムダ関数を使うことでしたが、http統合が必要なので使用できません。AWS Api Gateway - HttpインテグレーションクライアントIP
他の方法がありますか?
私は残りのAPIアプリケーションにhttpプロキシとしてAWS API Gatewayを使用しています。 問題は、クライアントのIPアドレスを取得する方法や、APIのゲートウェイからアプリケーションに渡す方法が見つからないようです。 私が見た唯一の方法は、ラムダ関数を使うことでしたが、http統合が必要なので使用できません。AWS Api Gateway - HttpインテグレーションクライアントIP
他の方法がありますか?
リクエストペイロードマッピングを設定するだけです。必要なものは$ context.identity.sourceIpです。
$ context.identity.sourceIp
API ゲートウェイへの要求を行うTCP接続の送信元IPアドレス:ドキュメントによります。例と
ドキュメントは、あなたがあなたの統合応答のマッピングテンプレートでこれを行うことができますhttp://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html
でご利用いただけます。 $ context.identity.sourceIpを呼び出してsourceIpを取得します。
すでにマッピングテンプレートを使用している場合は、任意の都合の良い時点で追加できます。あなたが現在マッピングテンプレートを使用して、ちょうど入ってくるJSONのリクエストボディにSOURCEIPを追加する必要がされていない場合は、そのようにマッピングテンプレートを追加します。
#set($allParams = $input.path('$'))
#set($discard=$allParams.put('sourceIp', $context.identity.sourceIp))
$input.json('$'))
は、私は私の体にそれを追加することを決定したマッピングテンプレートを使用して。体に単にプロパティを追加する方法はありますか? –
マッピングテンプレートを使用してsourceIpをボディに追加する例については、https://forums.aws.amazon.com/thread.jspa?threadID=238081を参照してください。 –