6.5.5.3. Nginx 証明書ルックアッププロバイダー
Red Hat Single Sign-On サーバーが Nginx リバースプロキシーの背後に配置されると、このプロバイダーを使用できます。以下のようにサーバーを設定します。
<spi name="x509cert-lookup">
<default-provider>nginx</default-provider>
<provider name="nginx" enabled="true">
<properties>
<property name="sslClientCert" value="ssl-client-cert"/>
<property name="sslCertChainPrefix" value="USELESS"/>
<property name="certificateChainLength" value="2"/>
</properties>
</provider>
</spi>
NGINX SSL/TLS モジュールはクライアント証明書チェーンを公開しないため、Keycloak NGINX 証明書ルックアッププロバイダーが Keycloak トラストストアを使用して再ビルドされます。クライアント証明書チェーンを再構築するために必要なすべてのルートおよび中間 CA を持つ keytool CLI を使用して Keycloak トラストストアを設定してください。
クライアント証明書の設定方法については、NGINX のドキュメント を参照してください。NGINX 設定ファイルの例:
...
server {
...
ssl_client_certificate trusted-ca-list-for-client-auth.pem;
ssl_verify_client optional_no_ca;
ssl_verify_depth 2;
...
location / {
...
proxy_set_header ssl-client-cert $ssl_client_escaped_cert;
...
}
...
}
trusted-ca-list-for-client-auth.pem のすべての証明書を Keycloak トラストストアに追加する必要があります。