RequireHttpsAttributeが設定されたAzureで.NETCore RC2 Webアプリケーションが動作するようになっていますが、問題が発生しています。.NETCoreでRequireHttpsAttributeを使用すると、AzureでHTTP302リダイレクトループが発生する
私は自分のコードでこの問題が発生する可能性を排除するために、最小限のものに戻し、 "out of box" VS2015 .NETCore RC2テンプレートを使用して再作成しました。
標準のVS2015 .NETCore RC2 Webアプリケーションをデプロイすると、サイトは正常に動作します。 [RequireHttps]をコントローラに追加すると、ローカルで正常に動作しますが、AzureではHTTP302リダイレクトループが発生します。これは、RC1でAzureでRequireHttpsAttributeが正常に動作して以来、RC1以降に変更されたようです。
HTTP Error 310 ERR_TOO_MANY_REDIRECTS with RequireHttpsAttribute ASP.NET Coreでも同様の質問がありますが、質問がRC1またはRC2について話しているかどうかはわかりませんが(実際はRC2と思われます)、唯一の回答はRC1にのみ適用されます。
AWSのリダイレクトループを引き起こすこの属性についても同様の質問があります。RequireHttps causes redirect loop on Amazon Elastic Load Balancerですが、これはMVC4であり、Azureでは使用されていないヘッダーも含まれています。
あなたはHTTPS永続的にリダイレクトにHTTPが必要ですか? –
種類。 RequireHttps属性のポイントは、要求がHTTPS経由で受信されたことを確認する認証フィルタです。そうでなければ、それはGETであり、HTTPSバージョンのURIにリダイレクトします。 GETでなければHTTP403を返します。これは.NETの標準的な部分ですが、なんらかの理由でAzureはHTTPS要求がHTTPであると判断し、HTTPS要求をHTTPSエンドポイントにリダイレクトしてリダイレクトループを引き起こします – VaticanUK
属性のコードを見ると、それはfilterContext.HttpContext.Request.IsHttpsが真であるべきときfalseを返さなければならないと思われます – VaticanUK