:各EBアプリがある AWS APIゲートウェイが正しくプロキシリバースない
設定API Gatewayのアプリ名の下にマッピングされます。
/hello1 (API Gateway mapping) --> prototype1 EB application
/hello2 (API Gateway mapping) --> prototype2 EB application
... etc
これは私が作成した全体的なマッピングです:
API Gatewayは、例えば、各マッピングにルートリソースに対する要求を扱うようです「/」は異なるサブリソースに対する要求に、私は、両方のプロキシのマッピングを設定している:
ルート(「/」)リソースは単純です(すなわち、非欲張り)プロキシマッピング:
という名前のステージにAPIを展開:
はその後、ルートコンテキストの下に何のための貪欲プロキシマッピングがあります
各プロトタイプにアクセスするというアイデアは、URL http://protos.acme.com/<stage>/<proto_name>
を取得します。 http://protos.acme.com/master/hello1
。
問題
私は見つけることだと私は、URLの末尾にスラッシュを追加したり、例えば特定のリソースを指定した場合index.html
すべてが完全に機能します。
- http://protos.acme.com/master/hello1/ - 細かい
- http://protos.acme.com/master/hello1/index.htmlに動作します - 私は、例えばURLから最後のスラッシュを省略した場合は、ファイル
の作品http://protos.acme.com/master/hello1
APIゲートウェイによって行われたURLの書き換えが機能しなくなり、プロキシコンテンツのURLがプロトタイプ名を省略すると正しく解決されなくなります。 http://protos.acme.com/master/index.html
。
末尾のスラッシュを省略した場合の動作を設定する方法が見つかりません。ユーザーに後続のスラッシュを常に覚えさせてもらえないと思っています。
洞察力に感謝!
エド
あなたが「非貪欲」のいずれかの方法を使用している統合エンドポイントを共有することはできますか?あなたが設定したものは、その方法が正しいと仮定して動作するはずです。 –
私は上記の設定が私にとって有効であることをテストし、確認しました。貪欲方法と非貪欲方法の両方のエンドポイントURLをどのように設定したかをご記入ください。 –