個々のユーザーアカウントを使用するASP.NET MVC Webアプリケーションを、エラスティックロードバランサ(ELB)を使用しているAWSサーバーに展開しようとしています。 AWSアプリケーションサーバーにIISにサイトを展開し、AWS SQLサーバーに接続しました。これはサーバー上で正常に動作します(実際にはVisual Studioで実行するか、内部サーバーに展開します)。AWS ELBの背後でASP.NET MVCサイトが正しく機能しない
問題はELB経由でリモートアクセスするときに発生します。
- 私がしようとするとアクセスhttps://www.example.com/場合、それは動作しません - それがハングアップして、私はその後、408エラーを取得した、http://www.example.com/Account/Login?ReturnUrl=%2Fに私をリダイレクトします。
- 私が試してみると、https://www.example.com/Dashboard/Indexのように動作しないと、私はhttp://www.example.com/Account/Login?ReturnUrl=%2FDashboard%2FIndexにリダイレクトされ、408エラーが発生します。
- 私が試してhttps://www.example.com/Account/Loginに直接アクセスすると、正常に動作します。私はログインすることができ、私のサイトのすべてのページは期待どおりに動作します。私がログアウトすると、私はhttp://www.example.com/Account/Login?ReturnUrl=%2Fにリダイレクトされ、手に入ると408のエラーが発生します。
基本的に、私がログインしていれば、大丈夫です。ログインしていないと、ログインページは正常ですが、それ以外は何もありません。 AWSで働いている社内チームの同僚(私はbtwを手伝ってもらえませんでした)は、私がログインページにリダイレクトされるとHTTPリクエストでありHTTPSではないということですそれが問題の原因ですが、私が何を試しても、HTTPSでリダイレクトすることはできません。私が試した:
- は拾うために私のweb.configファイルにルールを追加し、要求し、HTTPSにリダイレクト転送 -
- 様々な異なる属性のどちらかに追加された顕著な違いを作っているように見えるしません私に、FilterConfigまたはURLを使用してIISで直接ルールを追加ログインアクション
- は が
明らかに私の問題を回避するには、ログインページに移動し、ちょうどルートURLではなく、そこに開始するように皆を得ることですリライトが、私は思いますリダイレクトがそうでないかのようにソートされるのが本当に好きですここで働くと、私はそれが他の場所で働いていないことが分かり、問題を引き起こす可能性があります。
リクエストに応じて更新:私は実際には別のチームによって行われているように私のELBを制御することはできませんが、HTTPSとしてトラフィックを受け入れ、サーバーに渡すということですHTTPとして
質問を更新して、ELBリスナーの設定を含めてください。 ELBがHTTPS(ロードバランサポート)を受け入れ、HTTP(インスタンスポート)としてサーバーにトラフィックを渡しますが、確認したいと思うようです。これは、AWS Web ConsoleのEC2> Load Balancing> Load Balancerの順に表示されます。 HTTPSとしてリクエストしないことが本当に問題である場合は、これを修正することもできます。 –
@AnthonyNeaceが更新されました - 私はあなたが正しいと確信しています。それは設定されています – alfredbulbasaur
'web.config'ファイルに、' forms'要素の 'loginUrl'値は何ですか? –