WebアプリにSSLを使用するかどうかを決定しようとしています。クレジットカードや財務データは処理しませんが、個人的/社会的理由で非公開にする必要のある情報を保存します。おそらく保護されるべきである通常のユーザー登録とログイン機能もあります。
サーバーとクライアントには暗号化と復号化があるため、SSLを使用するとパフォーマンスがいくらか低下することはわかっています。また、私が理解していることから、暗号化されたデータはそれほど圧縮されないので、Apacheのmod_deflate
おそらく同様に機能しません。
パフォーマンスへの影響はどの程度重要ですか?いくつかのテストを行う予定ですが、それでも経験に基づいたコメントに興味があります。
PKIオーバーヘッドの場合、接続ごとに顕著なパフォーマンスの低下が見られます。対称鍵を使用した実際のデータ転送では、オーバーヘッドが比較的少なくなります。正確な比率とコストは、特定のハードウェア/ソフトウェアスタックによって異なります。
一般に、大量のデータを転送するためのオーバーヘッドは小さいです。多数の小さな接続(たとえば、多数の小さな画像のhttps)を実行するためのオーバーヘッドははるかに大きくなります。保護するページの一部を選択できます。全部またはまったくなくてもかまいません。
テストとベンチマークを実行してください。全体的なパフォーマンスへの影響は小さく、許容範囲内であることがわかると思います。
パフォーマンスが心配な場合は、SSLを全体的な戦略の一部にする必要があります。私は、1日に数百万のヒットと数千のユニークビジターを目にするフォーチュン5の企業のいくつかのサイトを管理しており、SSLオフロードを使用していません。読み込みに関する懸念のほとんどは、使用するコードベースとサードパーティライブラリ(.NET、Javaほとんど))に焦点を当てていることがわかりました。
したがって、SSLの負荷が心配な場合は、トラフィックが多い場合のコードパフォーマンスなど、他の側面も気にしない限り、気にしないでください。そして、ここでのロードは、実際にはメモリフットプリントとCPUを意味します...トラフィックのロードを修正するのは簡単です。主に重要であるか、最初に作用するのはこれらの他の負荷です。
はい、ある程度の負荷が発生するため、SSLモジュールがインストールされているロードバランサーにオフロードする価値があります。ただし、サーバーを使用する必要がある場合、anyの機密データを処理している場合、サーバーが作成した負荷はその重みに見合うものですが、個人情報が機密であると見なされるかどうかは別の質問(ログインを除いて、ソーシャルネットワークはhttpsを使用する傾向がありません)。
ストレステストの場合はab HTTPとHTTPSで違いを確認し、vhost.conf
などの:443セクションでmod_sslのみを有効にしてください。
暗号化されたデータはそれほど圧縮されません
SSLには独自の 圧縮プロトコル があり、クライアントの使用を監視できます。リクエストの速度を上げるには、必ず SSL Session Caching を使用してください。
わずかなパフォーマンスの低下が発生します。そのため、通常、ほとんどのWebサイトでは、データが安全に送信されるように、登録フォームとログインフォームでSSLのみが必要です。その後、SSLなしでブラウジングが再開されます。