第2章 リリース固有の変更
2.1. サーバー設定の変更
2.1.1. 新しいホスト名オプション
ホスト名 v2 オプションはデフォルトでサポートされています。古いホスト名オプションは非推奨です。
必要な移行のリスト:
旧オプション | 新しいオプション |
---|---|
|
|
|
|
|
|
ご覧のとおり、hostname
および hostname-admin
オプションで *-url
の接尾辞が削除されました。オプション hostname は hostname
と URL の両方を受け入れますが、hostname-admin
は完全な URL のみを受け入れるようになりました。
また、パス
や ポート
を個別に設定することはできません。hostname
および hostname-admin
オプションの完全な URL を指定して実現できます。
ポートが URL の一部ではない場合、受信したリクエストヘッダーから動的に解決されます。
hostname
および hostname-admin
URL の一部でない限り、HTTPS が適用されなくなりました。指定しない場合、使用されるプロトコル(http/https
)は受信リクエストから動的に解決されます。hostname-strict-https
オプションが削除されます。
削除されたオプション |
---|
|
|
|
|
|
|
2.1.1.1. 例
簡素化された表記
# Hostname v1 bin/kc.[sh|bat] start --hostname=mykeycloak.org --https-port=8543 --hostname-path=/auth --hostname-strict-https=true # Hostname v2 bin/kc.[sh|bat] start --hostname=https://mykeycloak.org:8543/auth
例でわかるように、URL のすべての部分を 1 つの hostname
オプションを使用して指定できるようになりました。これにより、ホスト名の設定プロセスが簡素化されます。HTTPS は hostname-strict-https
オプションでは強制されず、ホスト名 URL に指定することに注意してください。
バックチャネル設定
# Hostname v1 bin/kc.[sh|bat] start --hostname=mykeycloak.org --hostname-strict-backchannel=true # Hostname v2 bin/kc.[sh|bat] start --hostname=mykeycloak.org --hostname-backchannel-dynamic=false
バックエンドエンドポイントとフロントエンドエンドポイントの両方に同じ URL を使用する場合は、動作の変更があることに注意してください。以前は、hostname v1 ではバックチャネル URL は要求ヘッダーから動的に解決されていました。そのため、必要な結果を実現するには、hostname-strict-backchannel=true
を指定する必要がありました。
ホスト名 v2 の場合、バックチャネル URL はすでにフロントエンドの URL と同じです。リクエストヘッダーから動的に解決するには、hostname-backchannel-dynamic=true
を設定し、hostname
オプションの完全な URL を指定する必要があります。
詳細と、より包括的なシナリオは、ホスト名 の設定(v2)を 参照してください。
2.1.2. kcadm および kcreg changes
kcadm および kcreg がオプションおよびパラメーターを解析および処理する方法。使用エラー、間違ったオプションまたはパラメーターからのエラーメッセージは、以前のバージョンとは若干異なる可能性があります。また、使用エラーには、1 ではなく終了コードが 2 になります。
2.1.3. グループパスのスラッシュのエスケープ
Red Hat build of Keycloak は、グループパス内のスラッシュをエスケープしたことはありません。そのため、top の group/slash
という名前のグループはフルパス /
を使用します。これは明確に誤解を招くものです。このバージョン以降、サーバーを起動して、名前をこれらのスラッシュのエスケープ処理を実行できます。
top
/group/slash
bin/kc.[sh|bat] start --spi-group-jpa-escape-slashes-in-group-path=true
エスケープ文字はチルダ文字 ~
です。上記の例では、/top/group~/slash
パスになります。エスケープは、階層区切り文字ではなく、名前の一部として最後のスラッシュをマークします。
現在、エスケープは動作の変更を表すため、デフォルトでは無効になっています。エスケープを有効にすることを推奨しますが、今後のバージョンではデフォルトになる可能性があります。
2.1.4. --import-realm
オプションは、master レルムをインポートできます。
master レルムが存在する前に、--import-realm
オプションを指定して start
または start-dev
コマンドを実行すると、インポート資料に存在する場合はインポートされます。以前の動作では、マスターレルムが最初に作成され、次にインポートがスキップされていました。
2.1.5. 最適化された
起動オプションでの追加検証
最適化され
た起動オプションでは、最適化されたサーバーイメージを最初に構築する必要があります。これは、最初に kc.sh|bat build
を実行するか、他のサーバーコマンド( start
、export
、import
など)で 最適化
フラグなしで実行できます。
2.1.6. ランタイム時に キャッシュ
オプションを指定する
オプション cache
、cache-stack
、および cache-config-file
はビルドオプションではなくなり、ランタイム時のみ指定できます。これにより、ビルドフェーズを実行し、そのためにイメージを再ビルドする必要がなくなります。これらはビルドフェーズで認識されないため、それらを ビルド
フェーズから削除し、ランタイム
フェーズに追加する必要があります。現在のキャッシュオプションを
ランタイム
フェーズに追加しない場合、Red Hat build of Keycloak はデフォルトのキャッシュ設定にフォールバックします。
2.1.7. HTTP 応答を使用する際のメモリー使用量の制限
ブローカーなどの一部のシナリオでは、Red Hat build of Keycloak は HTTP を使用して外部サーバーと通信します。これらのプロバイダーが過剰なデータを送信したときにサービス拒否を回避するために、Red Hat build of Keycloak はデフォルトで応答を 10 MB に制限するようになりました。
この制限を設定するには、プロバイダー設定オプション spi-connections-http-client-default-max-consumed-response-size
を設定します。
消費された応答を 1 MB に制限
bin/kc.[sh|bat] --spi-connections-http-client-default-max-consumed-response-size=1000000
2.1.8. kc.sh/bat インポートプレースホルダーの置換
kc.sh|bat] import
コマンドで、プレースホルダーの置換が有効になりました。以前は、プレースホルダーの置換は起動時にレルムのインポートに対してのみ有効でした。
import
コマンドのプレースホルダー置換を無効にする場合は、システム property -Dkeycloak.migration.replace-placeholders=false
を追加します。