web-dev-qa-db-ja.com

SSL接続の確立を高速化する方法は?

LinuxPCでApache2を使用してOpenSSLをセットアップしています。

いいえ、DNS解決を有効にしていません。マシンにローカルで証明書があります。

それでも、Chrome devtoolsはInitial Connection took 1.64 s。特定の時間が経過した後にページを更新することになると、それは私を待っています。

それをスピードアップする方法、またはそれが想定されている方法ですか?

PS: StartComの無料のSSLを使用しています。

2
ForceMagic

StartComを使用しないでください。

代わりに、--Apacheautoconfigオプションを指定してLet'sEncryptを使用してください。

それはあなたにすべてをユーザーフレンドリーに尋ねます、そしてあなたはLet's EncryptSSLをセットアップした後にあなたのApache設定を完全にカスタマイズすることができます。

したがって、この問題は、StartCom SSLを削除し、Let'sEncryptを使用してApacheを自動構成することで解決されます。

ここで最初の問題が何であるかはよくわかりませんが、Let'sEncryptの方が最適化されているようです。

1
ForceMagic

SSL接続(および一般的なSSLトラフィックの待ち時間)を改善するためのいくつかの領域があります。これらのいくつかは、セキュリティに小さな影響を与える可能性があります。

(これらはApacheを使用するssl.conf用です)

ドメインルックアップを無効にし、非SNIがプライマリドメインに到達できるようにします

  • SSLStrictSNIVHostCheckオフ

名前付きホストの代わりに、:443 VHOSTエントリにIPアドレスを使用します

SSLセッションのキャッシュ

  • SSLSessionCache shmcb:/ run/httpd/sslcache(512000)
  • SSLSessionCacheTimeout 300

より速いSSLプロトコルの順序、一般的な互換性、中程度のセキュリティを可能にします:

  • SSLProtocol all -SSLv3
  • SSLCipherSuite ALL:+ HIGH:+ TLSv1:!ADH:!EXP:!SSLv2:!MEDIUM:!LOW:!NULL:!aNULL
  • SSLHonorCipherOrder on

OCSPステープリング(SSLを高速化)

  • SSLUseStapling on
  • SSLStaplingResponderTimeout 5
  • SSLStaplingReturnResponderErrorsオフ
  • SSLStaplingCache shmcb:/ run/ocsp(128000)

HSTS(プリロードを実行できるため、http://リクエストはブラウザでhttps://リクエストになります

  • ヘッダーは常にStrict-Transport-Security "max-age = 63072000; includeSubdomains; preload"を設定します

ここでプリロードを送信します: https://hstspreload.appspot.com/

次のより高度な実装を検討してください。

  • HPACKを使用したHTTP/2
  • Brotli圧縮

接続の高速化に役立つ可能性のあるその他の非SSLの問題

Httpd.confのApacheの別のディレクティブ

  • HostnameLookups Off
5
jeffmcneill