私たちのセットアップでは、Apache (httpd-2.2.3-65.el5_8、mod_ssl-2.2.3-65.el5_8) を使用して rhel 5.8 を実行している Linux サーバーを数千人のユーザーが使用しています。ユーザーは PKI を使用してシステムにログインします。サーバーには 5 つの CA があります。Apache プリフォーク モデルを使用すると、すべて正常に動作します。ssl_error_log
ただし、ワーカー モデルに切り替えると、ほとんどのリクエストは正常に処理されますが、次のようなファイルで多くのエラーが発生します。
「[エラー] 証明書の検証: エラー (20): ローカル発行者証明書を取得できません」
ワーカー モデルを 1 つの CA で実行すると、このエラーは発生しません。プリフォークモデルを使用している場合、このエラーは発生しません。これは、 worker を含む CA バンドルでは発生しませんThreadsPerChild=1
。単一の CA ではなく、ワーカー ( ThreadsPerChild>1
) と ca バンドルを組み合わせた場合にのみ、これが発生します。
これは、Apache 構成ファイルのワーカー構成です。
<IfModule worker.c>
ServerLimit 250
StartServers 20
MaxClients 2050
MinSpareThreads 20
MaxSpareThreads 50
ThreadsPerChild 10
MaxRequestsPerChild 0
</IfModule>
プリフォークの設定は次のとおりです。
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 2048
MaxClients 2048
MaxRequestsPerChild 4000
</IfModule>
prefork を使用するのではなく、worker で複数の CA を実行することに関する既知の問題はありますか? または、望ましい動作を得るためにワーカーの構成を正しく調整する必要がありますか?