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 トラストストアに追加する必要があります。