1

私たちのサイトでは、F5 の Big IP が SSL の暗号化と復号化を処理し、リクエストをサーバーのポート 80 に送信しています。

これは ASP.NET MVC を使用する最初のサイトであるため、ビュー内の @HTML.ActionLink をどのように処理するのか興味がありました。なんと、https://をつけています。私たちの CI 環境 (SSL を実行しない) では、すべてのリンクに http:// を付けています。

javascript ファイル、css ファイル、および画像を取り込むための他のリンクがあり、F5 によってリクエストに追加されたカスタム HTTP ヘッダーを使用しているため、確認できます。

ASP.NET MVC3 がリンクに http:// または https:// を含める必要があるかどうかを知っている方法を知っている人はいますか? .

4

1 に答える 1

0

RequireHttpsAttributeコントローラーで使用する場合、これは1つの方法です。Httpで呼び出された場合、Httpsにリダイレクトされるため。

あなたのケースである可能性が高いもう1つの重要な方法は、現在のリクエストパス(Request.AbsoluteUrl)を使用してリンクを作成することです。したがって、元のページがHTTPを使用して呼び出された場合、リンクはHttpsになります(コードを簡単に見てから) .

そのため、未加工の URL が IIS のポート 80 に送信されている可能性がありますが、URL に Https が含まれていることが示されています。Request.ServerVariables[ "HTTP_URL" ]確認のようなものを出力してみてください。あなたRequest.ServerVariables["HTTPS"]の場合、あなたがそれを説明していると思います。

于 2011-02-21T02:02:45.887 に答える