2.4.3. HTTP および TLS 設定の移行
実稼働モード (start オプションで表される) を使用する場合は常に、HTTP が無効になり、TLS 設定がデフォルトで必要になります。
--http-enabled=true 設定オプションを使用すると、HTTP を有効にできます。ただし、Red Hat build of Keycloak サーバーが完全に分離されたネットワーク内にあり、内部または外部の攻撃者がネットワークトラフィックを監視できるリスクがない場合を除き、このオプションの使用は推奨されません。
Red Hat build of Keycloak インスタンスは、サーバーのルートを使用するため、異なるコンテキストルート (URL パス) を持ちます。一方、Red Hat Single Sign-On 7.6 はデフォルトで /auth を追加します。以前の動作を再現するには、--http-relative-path=/auth 設定オプションを使用できます。デフォルトのポートは同じままです。ただし、--http-port および --https-port オプションによって変更することもできます。
TLS を設定するには 2 つの方法があります。PEM 形式のファイルを使用するか、Java キーストアを使用します。たとえば、Java キーストアによる以前の設定として、次のようなものがあるとします。
<tls>
<key-stores>
<key-store name="applicationKS">
<credential-reference
clear-text="password"/>
<implementation type="JKS"/>
<file
path="/path/to/application.keystore”/>
</key-store>
</key-stores>
<key-managers>
<key-manager name="applicationKM"
key-store="applicationKS">
<credential-reference
clear-text="password"/>
</key-manager>
</key-managers>
<server-ssl-contexts>
<server-ssl-context name="applicationSSC"
key-manager="applicationKM"/>
</server-ssl-contexts>
</tls>
Red Hat build of Keycloak では、CLI パラメーターを使用した同等の設定は、次のようなものになります。
kc.sh start
--https-key-store-file /path/to/application.keystore
--https-key-store-password password
Red Hat build of Keycloak では、次のように PEM 形式の証明書を指定することで TLS を設定できます。
kc.sh start
--https-certificate-file /path/to/certfile.pem
--https-certificate-key-file /path/to/keyfile.pem