SSL 接続の確立を高速化するにはどうすればよいですか?

SSL 接続の確立を高速化するにはどうすればよいですか?

Apache2 を使用して Linux PC に OpenSSL をセットアップしています。

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

それでも、Chrome 開発ツールは と表示しますInitial Connection took 1.64 s。特定の時間が経過した後にページを更新するとなると、かなり待たされることになります。

それをスピードアップするにはどうすればいいのでしょうか、それともそれが本来あるべき姿なのでしょうか?

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

答え1

SSL 接続 (および一般的な SSL トラフィックの遅延) を改善できる領域はいくつかあります。これらのいくつかは、多少なりともセキュリティに影響を与える可能性があります。

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

ドメイン検索を無効にし、非SNIがプライマリドメインにアクセスできるようにします。

  • SSLStrictSNIVHostチェックオフ

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

SSLセッションをキャッシュする

  • SSLセッションキャッシュ shmcb:/run/httpd/sslcache(512000)
  • SSLセッションキャッシュタイムアウト 300

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

  • SSLプロトコルすべて -SSLv3
  • SSLCipherSuite ALL:+HIGH:+TLSv1:!ADH:!EXP:!SSLv2:!MEDIUM:!LOW:!NULL:!aNULL
  • SSLHonorCipherOrder オン

OCSP ステープル (SSL の高速化)

  • SSLUseStapling オン
  • SSLStaplingResponderタイムアウト 5
  • SSLStaplingReturnResponderErrors オフ
  • SSLステープルキャッシュ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 用の別のディレクティブ

  • ホスト名検索オフ

答え2

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

代わりに、自動構成オプション付きの Let's Encrypt を使用してください--apache

ユーザーフレンドリーな質問がすべて表示され、Let's Encrypt SSL を設定した後、Apache 設定を完全にカスタマイズできます。

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

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

関連情報