2009-03-23 16 views
3

ここでベストプラクティスを探してください。ロードバランサレベルでSSL接続を処理するため、ロードバランサからWebサーバーへのすべての接続はhttpです。これで、すべての接続がhttpを介して行われているため、クライアントがWebサーバーにどのような接続を行っているかを知る方法がありません。現在のところ、2つのソリューションがあります.1つは、URLストリングにポート番号を追加するロードバランサを使用して、リクエストの種類(http:80、https:443など)を判別できるようにすることです。もう1つの解決策は、ロードバランサがhttps要求を受け取ったときに特別なヘッダーを追加して、Webサーバーが接続の種類を認識できるようにすることです。ロードバランサの背後にあるSSL接続を確認する

解決策はどちらにも見えますか? WebサーバーレベルではなくロードバランサレベルでSSLを適用することに関するベストプラクティスはありますか?

答えて

1

ヘッダーが好きです。 URLに何かを追加すると、アプリが使用したいクエリ文字列パラメータと衝突する可能性があります。カスタムヘッダーが簡単になります。

第3の選択肢は、ssl接続を別のポート、たとえば8080にリダイレクトすることです。バックエンドでは、ポート80の接続はhttpで始まり、ポート8080の接続は始まり443その時点でどちらもhttpになっていますが。

1

ヘッダーを使用することをおすすめします。関連概念は、Webサーバーへのすべての要求がロードバランサから発信されるように見えるため、(ロギング目的で)クライアントのIPアドレスを決定することです。ここではx-forwarded-forヘッダーが慣習的に使用されています。

関連する問題