2

私はあなたがこれを行うことができることを知っています:

#if !DEBUG
    [RequireHttps] //apply to this action only
#endif

「コントローラー」サーバーが外部の SSL 443 要求を受信し、それを復号化してから、http 80 を使用して (ssl なしで) プライマリ/セカンダリ サーバーに転送する Web ファーム フレームワークを使用している場合はどうなりますか?

この環境で [RequireHttps] 属性を試してみたのですが、Firefox で「ページが正しくリダイレ​​クトされていません」と応答してしまいました。Firefox は、サーバーがこのアドレスへのリクエストを決して完了しない方法でリダイレクトしていることを検出しました。SSL ではないことを認識していますが、SSL を取り除くため、MVC は SSL 属性を認識しません。

Web ファームの MVC 3 で https を使用する特定のアクション メソッドをどのように書き直しますか? どのようにこれを行うことができますか、[RequireHttps]または SSL と「URL 書き換え」を必要とする Web サイト内のすべての URL を厳選する必要がありますか?

編集:

ポート 443 トラフィックを識別し、Web ファームの https に転送するようにコントローラーを変更しました。コントローラーに SSL 証明書をロードするだけで済むと思っていましたが、プライマリとセカンダリにも (またはそれだけで) ロードする必要があります。

4

1 に答える 1

2

アクション メソッドで、安全な接続を確認できます。

if(Request.IsSecureConnection())
{
   // Secure connection logic here
}
于 2011-10-05T09:00:08.980 に答える