8.5.6.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 モジュール は、クライアント証明書チェーンを公開しません。Red Hat Single Sign-On の NGINX 証明書ルックアッププロバイダーは、Keycloak トラストストア を使用して再ビルドします。クライアント証明書チェーンを再構築するために、すべてのルートおよび中間 CA で keytool CLI を使用して Red Hat Single Sign-On トラストストアに反映させます。

クライアント証明書の HTTP ヘッダーの設定の詳細については、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 トラストストア に追加する必要があります。