私のセットアップは次のとおりです:
これがすべて私が望むものです、しかし....
その理由は、EC2がロードバランサーからのリクエストを確認するため、ベースURLがelb.example.comであると想定し、それに応じてすべてのリンクを生成するためです。
EC2にベースURLをexample.comとして表示させるにはどうすればよいですか?
この動作は、CloudFrontがデフォルトでHost:HTTPリクエストヘッダーをオリジンホスト名に設定するという事実(この場合はelb.example.com)に起因する可能性があります。次に、アプリケーションはそのホスト名に基づいてリンクを生成すると考えられます。
その代わりに、オリジンに転送するためにそのヘッダーをホワイトリストに登録するようにCloudFrontを構成すると、ブラウザー(example.com)によって送信されたホストヘッダーがCloudFrontによってアプリケーションに送信されるため、アプリケーションは期待どおりに動作するはずです。リンクを生成するときにその値を使用します。これにより、CloudFrontは引き続きオリジンサーバーのホスト名を使用して、TCPオリジンへの接続(この場合はELB))を確立するために必要なDNSルックアップを実行しますが、そのホスト名をHTTPリクエストヘッダー。
これは@ michael-sqlbot on SO によって回答されています