3

これは Apache 仮想ホスト構成の一部であり、一致する着信要求が Apache Tomcat サーバーに転送されます。すべてのクライアントは、App1 の認証のためにクライアント証明書を送信する必要がありますが、App2 の場合はオプションである必要があります。

SSLVerifyClient require
SSLVerifyDepth 2
SSLOptions +ExportCertData +StdEnvVars

ProxyRequests Off

ProxyPass /app1/services/App01 ajp://localhost:8307/app1/services/App01
ProxyPass /app1/services/App02 ajp://localhost:8307/app2/services/App02

<Location /app1/services/App01>
    ProxyPassReverse ajp://localhost:8307/app2/services/App02
</Location>

<Location /app2/services/App02>
    ProxyPassReverse ajp://localhost:8307/app2/services/App02
</Location>

app2 の SSLVerifyClient ディレクティブを必須からオプションに切り替える可能性はありますか?

4

1 に答える 1

3

多くのドキュメントを読み、さまざまなアプローチを試した後、解決策を見つけました!

すべてのプロキシ ディレクティブを Location コンテキストに取り込み、これらのホストまたは仮想ホストのSSLVerifyClientディレクティブをオプションに設定し、 SSLVerifyClient requireを必要な Location ディレクティブに配置します。

SSLVerifyClient optional
SSLVerifyDepth 2
SSLOptions +ExportCertData +StdEnvVars

ProxyRequests Off

<Location /app1/services/App01>
    SSLVerifyClient require
    ProxyPass ajp://localhost:8307/app1/services/App01
    ProxyPassReverse ajp://localhost:8307/app2/services/App02
</Location>

<Location /app2/services/App02>
    ProxyPass ajp://localhost:8307/app2/services/App02
    ProxyPassReverse ajp://localhost:8307/app2/services/App02
</Location>
于 2010-08-02T06:44:27.000 に答える